Commit Graph

76 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
3e18a985d7 new files
original commit: 1e6aaf5928d25a650e3642f84657c6cd78476672
2010-02-02 20:42:53 -05:00
Sam Tobin-Hochstadt
3842628342 new branch
original commit: 536b94c3052559ae51a63807d8190b01d97f7326
2010-02-02 20:42:22 -05:00
Sam Tobin-Hochstadt
12be4e80ab Syntax for predicates with non-empty paths
svn: r17660

original commit: 5e1b355e325a8a910911caaa25069b51eea7cd7b
2010-01-14 23:17:56 +00:00
Sam Tobin-Hochstadt
46365587b2 Reject some cases of nested types.
svn: r17619

original commit: 91629fd31ace6700a6864c0db826c89e2987c1a2
2010-01-12 20:36:30 +00:00
Sam Tobin-Hochstadt
2022bc7b80 `reverse' is special on all tuples
svn: r17612

original commit: 81e963bd465ed66018506002a3b9a18f9c648493
2010-01-11 22:13:22 +00:00
Sam Tobin-Hochstadt
62d3dc1466 Propogate expected type through `reverse'.
New loop special case for `for/list'.

svn: r17609

original commit: 4fa4f6fd2d814de10e84300d1da76a311bf85160
2010-01-11 20:48:26 +00:00
Sam Tobin-Hochstadt
b7c5360562 `andmap' now works as a predicate in Typed Scheme
svn: r17575

original commit: f13453e8893ed86e7f90a596e80aed9e61755d89
2010-01-08 19:05:58 +00:00
Sam Tobin-Hochstadt
2669a3269a Fix abstraction of implications.
Fix contract for lookup-typed/lexical.
Default cases for printing.
Abstract out indexing functions for Nat/Integer split.

svn: r17272

original commit: d0c8a19ce84ce1ef674c1c43e69b56ee7e0a63a2
2009-12-11 23:00:37 +00:00
Sam Tobin-Hochstadt
43c534dbdf fix sorting
svn: r17270

original commit: dde2c1fb18fa716928af955d889f205caacbc378
2009-12-11 17:09:51 +00:00
Sam Tobin-Hochstadt
21f9c0ec16 fixes
svn: r17265

original commit: 791ec557876881eaeafc29a43b339b7a7d632d84
2009-12-11 00:25:59 +00:00
Sam Tobin-Hochstadt
4741518170 logic works properly now, it seems
svn: r17264

original commit: 92dbf999651f54b7efd8167427db9aa2f38512d1
2009-12-10 23:35:28 +00:00
Sam Tobin-Hochstadt
1261ce2cdb revert all of the interning changes since they didn't work
svn: r17262

original commit: 16c152e5a4ca1797f20c127d443e4689e292e55f
2009-12-10 17:15:17 +00:00
Sam Tobin-Hochstadt
445c65e12e checkpoint
svn: r17054

original commit: e3bafbe298688ec0efe47a09254492f93027fa71
2009-11-25 02:30:41 +00:00
Sam Tobin-Hochstadt
e5c1d9e02b checkpoint
svn: r16931

original commit: 750c971d0727b495c55fb090e38d3fb3001d3624
2009-11-21 00:11:37 +00:00
Sam Tobin-Hochstadt
28890f267f Skip backup files in tests.
More specific numeric types.
More subtyping relationships.

svn: r16922

original commit: 6497745560505fc1366188909543031b2925e0bb
2009-11-20 15:20:23 +00:00
Sam Tobin-Hochstadt
9e87d52ba1 many fixes
svn: r16913

original commit: 1da2c7cd7d45b7f8a53d1892609e135820ef4301
2009-11-20 03:56:57 +00:00
Sam Tobin-Hochstadt
a1f96d6ce8 checkpoint
svn: r16908

original commit: 111b71c844707b146bbc1500dc086ef3c5ef7070
2009-11-20 00:06:32 +00:00
Sam Tobin-Hochstadt
2c76766c1c Move a bunch of functions from typed-scheme/utils/utils to unstable.
Add convenience lib for unstable docs.
Add char support to format-{id,symbol}
Add unstable/sequence library.

svn: r16789

original commit: fb29a2498e964c6d7651ca6cc6a19c07ca28760b
2009-11-15 22:15:29 +00:00
Sam Tobin-Hochstadt
382a771d75 Better error message for inference with keywords.
Do inference when loop is unannotated, even when argument are.
Don't infer for ((lambda when vars are annotated.
Make promise contracts work.
Fix types of min, max, port->lines, subbytes,  bytes-length, bytes, bytes-ref

svn: r16397

original commit: a5849fb05af85c586bbd730d220b324018a6673e
2009-10-21 13:30:03 +00:00
Sam Tobin-Hochstadt
9c607d6779 Don't error for branches with wrong number of results where return type is Bot.
Allow case-lambda to be subtype of equiv union type.
Add types for path?, fold-files, assert

svn: r16357

original commit: 6a83901a8bd60ccea014f84238a378749573beb2
2009-10-18 01:10:00 +00:00
Sam Tobin-Hochstadt
bd75ded350 Elimintate printing of complex filters.
Allow parsing of ...* and ...a
Parameter for printing ...* and ...a

svn: r16225

original commit: 96f664354d80ed25ff70e27fd7d6dc7f694c6c7d
2009-10-02 20:41:56 +00:00
Sam Tobin-Hochstadt
cc3c031d80 Fix bug with use of match with ... and annotation.
svn: r16216

original commit: 6efd0abc13711b0ca3f75b7c6460291ffb77b8d9
2009-10-02 16:20:30 +00:00
Sam Tobin-Hochstadt
8898a34829 Remove almost all uses of `stxclass' library.
svn: r15944

original commit: eda69b472ad5de8874ddf99b40f04dea22a9672e
2009-09-09 21:24:05 +00:00
Sam Tobin-Hochstadt
cf872c4e38 New type parser, written using syntax/parse.
- uses keywords with bindings
 - : macro in separate file so it can be used earlier
 - internal function in separate file
FilterSet/c and LatentFilterSet/c contracts
Avoid returning #f when `look-for-in-orig' fails
Add type for unsafe-cdr

svn: r15923

original commit: 63d318fd4b7e7244af10fff21db74f0d09db5006
2009-09-08 19:51:34 +00:00
Eli Barzilay
40fa4f26b2 Newlines at EOFs
svn: r15380

original commit: a70bf64fd9d68487c128282ca85a8964e1592711
2009-07-04 02:28:31 +00:00
Sam Tobin-Hochstadt
6d02292d53 Use let/ec instead of let/cc
let/ec: and let/cc:
type for call-with-current-continuation
Start on ImpFilters

svn: r15220

original commit: 5b79cd7c0c7ec1298573d15b0c79abd403cdcf58
2009-06-19 18:01:33 +00:00
Sam Tobin-Hochstadt
f7019a6a2b Merge in changes to Syntax types from Carl.
svn: r15156

original commit: bc6d606a604a999da46a18b7d01b8d39c7b0b7cb
2009-06-12 20:53:47 +00:00
Sam Tobin-Hochstadt
ab3e94b6e2 Add NoFilter and NoObject to represent no information about filter/object.
Handle these properly in check-below (with test).
Use NoFilter and NoObject to make if typechecking work properly with filters.
Reject mismatched filters/objects (with test).

New version of require/typed that handles opaque and struct requires.
Reorganize docs around this.

svn: r15155

original commit: 7b82069fa0805e3de16c9a49d6c303789fc75419
2009-06-12 19:04:39 +00:00
Sam Tobin-Hochstadt
9428ed0010 Fix a bunch of types and function types
svn: r15133

original commit: 7d9f506760dd7d068641eea5f89c15e36a45d837
2009-06-10 21:46:52 +00:00
Sam Tobin-Hochstadt
63589b9574 Improve error messages and printing.
Turn off contracts.

svn: r14947

original commit: c27dccb9d8a5e475bc4b592995c183e1d946cd2b
2009-05-22 22:30:24 +00:00
Sam Tobin-Hochstadt
09d6ee6b77 Untyped top-level variables are not an internal error.
Handle latent filter of LBot in values->tc-results when there are no formals.
Use check-below properly in tc/mono-lambda/type

svn: r14935

original commit: 2ee1d2b5962343cd86e520879e88b7e092cf3bb7
2009-05-22 20:07:36 +00:00
Sam Tobin-Hochstadt
85ceb35511 Add contract for make-pred-ty
svn: r14934

original commit: 23a735ee2ff321b69746f2cdacb01fbc0c874b5e
2009-05-22 19:43:31 +00:00
Sam Tobin-Hochstadt
8ccd47ab1c Remove lots of debugging code.
Use `needs-resolving?' in subtype.
Make resolve-{app,name} handle not-yet-bound names.

svn: r14890

original commit: c4762078e32003f60402872f27ce94f2561f7b15
2009-05-20 23:40:03 +00:00
Sam Tobin-Hochstadt
1265433a2e Sort unions on re-construction to make contract happy.
Use resolve-once more.
Improve `overlap', in particular use keys.
Resolve names and apps before doing structure comparison.

svn: r14884

original commit: 19c4aa6ba450fdbcaf927fd6391987cc4deca69e
2009-05-20 18:35:59 +00:00
Sam Tobin-Hochstadt
936629c1b1 Fix handling of structs-as-functions.
Subtyping should look up names in both positions.

svn: r14827

original commit: ddefd28d6d2bc1b5bacb7f2ef6667e90d6ba8165
2009-05-15 15:47:22 +00:00
Sam Tobin-Hochstadt
4b6d8992b8 Special case for `call-with-values'
handle subtyping with ... args

svn: r14788

original commit: a8a64cfa7c6f50b7f01ecfe4f06f02e4ed769708
2009-05-12 20:56:32 +00:00
Sam Tobin-Hochstadt
2c3994544e Move `hashof' contract combinator to utils/utils.ss
Fix frees for arr to use `fix-bounds' properly.
Match : symbolically in ->*

svn: r14786

original commit: 5300481176a6067d1cf561aeb329ecc6d8f0c99f
2009-05-12 19:53:48 +00:00
Sam Tobin-Hochstadt
d7d9932f89 Allow objects to be specified in ->
Fix overlap to handle overlapping base types (numbers)

svn: r14781

original commit: 7b4081eef114343991472b0839e336d35301802a
2009-05-12 15:13:17 +00:00
Sam Tobin-Hochstadt
9f7ae2f23f match based on symbol for : in ->
svn: r14758

original commit: fbae33b1c3d49eca4a8f7d08bcd88f13d10eb4b1
2009-05-08 23:31:33 +00:00
Sam Tobin-Hochstadt
d2bea2a771 Add missing file.
Fix bug in struct type creation.
Add ability to disable printing dynamically.
Fix recursion into objects & paths.

svn: r14747

original commit: dbe5556b45a036e0457dc2f5ae6abcfad31d2947
2009-05-08 19:00:07 +00:00
Sam Tobin-Hochstadt
c6953e5403 All code from old app is now in new app
svn: r14740

original commit: d2cc1b2400a6c15c4103de0a0f4f2561cd0c9ce9
2009-05-07 20:17:38 +00:00
Sam Tobin-Hochstadt
783581aa49 Handle polymorphic function application.
Paths work with car/cdr.
Fix #%require/#%provide top-level handling.

svn: r14735

original commit: 50696a08a31258428edf4af9d58c84d763a2bc17
2009-05-06 22:45:12 +00:00
Sam Tobin-Hochstadt
e4997f6176 Remove `make-arr/values'
Accessors now have appropriate latent objects
Handle function application for unions, error, mu, parameters

svn: r14724

original commit: 07341c605b9660333444665265a4fb3104efdc6e
2009-05-05 23:03:02 +00:00
Sam Tobin-Hochstadt
7a07559474 Various constants are true.
Remove useless code.
`combine-filter' now handles producing the new type/object in appropriate cases.
Move student expansion later in pattern match.
Print out top-level tc-results.

svn: r14721

original commit: 6b89062d6a2e6b35fb24c71d7f0fb839d49546b1
2009-05-05 16:27:18 +00:00
Sam Tobin-Hochstadt
c5bb0e753d `values->tc-results' needs the formals
Fix values->tc-results for ValuesDots
Don't generate problematic nested lists.
Fix stupid typo.
Parsing of tc-results now doesn't use parsing of values, which does something different.

svn: r14713

original commit: 9c538764dcd499d9b8a04b415a88835ccd55f1c9
2009-05-04 18:49:56 +00:00
Sam Tobin-Hochstadt
f0ec51670c fix values->tc-results, doesn't compile yet
svn: r14688

original commit: cce7f91b78955206b44c180c77b9c6d78be88ce4
2009-05-02 12:46:53 +00:00
Sam Tobin-Hochstadt
4627335b14 Fold tc/let-values/check into tc/let-values.
Remove printfs.
More metafunctions to handle splitting and merging filter sets.
Handle `delay', `list', `list*'
Implement tc/funapp for the simple case.
Make `id-from' a stxclass.
Shuffle code around so that it compiles.
Type parsing now handles multiple values properly, and has a values and results entry point.

svn: r14680

original commit: b4d100d60cb99e714374d2db3c75a36167b109cc
2009-05-01 21:18:23 +00:00
Sam Tobin-Hochstadt
4255e1dfab Add `single-value' function, should be used more.
Construct returns correctly in lam-result->type
Add typechecking for `values' applications.
Extend `ret' to handle dty/dbound.
Define conversions from/to values <-> results
Handle multiple values at the repl.

svn: r14665

original commit: 91f5c269642ec9ecc62efabcc83131db539fcedd
2009-04-29 22:54:29 +00:00
Sam Tobin-Hochstadt
3161d6d8a3 fix subtyping w/ filters
svn: r14640

original commit: 7b6702c9e77f1ea1e4adcf52c62cd4fa74cd1a44
2009-04-28 14:56:18 +00:00
Sam Tobin-Hochstadt
6ecd33b765 more fixes for lambda with expected
svn: r14639

original commit: 077574cfe1192c2004b2b1528c103f6b58524359
2009-04-28 14:48:53 +00:00