Sam Tobin-Hochstadt
534e5e48aa
Move student expansion above or.
...
Improve printing when no object.
svn: r15704
original commit: 28be0897c32bf7d614c0a339c9a6d1271e709b57
2009-08-11 20:19:19 +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
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
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
ec01788aeb
move new-if to if.
...
svn: r14942
original commit: 844cbc678210650cf8c0f7982f1cc4179b46d20b
2009-05-22 22:06:48 +00:00
Sam Tobin-Hochstadt
aecfeceb3b
remove obselete code
...
svn: r14941
original commit: 2a55bec3352dff0b9d29ba72d5df61bb0a16b94f
2009-05-22 22:05:56 +00:00
Sam Tobin-Hochstadt
136f8c4f80
Instances can have any Type as their class.
...
Fix some handling of tc-results as pertains to classes.
Bottom is an ok Class.
svn: r14938
original commit: 7d239a4dfaa5d44e2bdbb8ebc31b72bbd3f87b61
2009-05-22 21:41:12 +00:00
Sam Tobin-Hochstadt
39eca53d55
Use tc-result1: instead of tc-result: in object handling.
...
Use tc-results->values instead of bogus version.
svn: r14937
original commit: 0feb99f6bc08fdff518cf9587438ab4e46493166
2009-05-22 21:19:46 +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
44e0580370
Fix construction of predicate type for `declare-refinement'.
...
svn: r14933
original commit: 7237ad6046a636b4ce0f5f1354fc0ff9237e416c
2009-05-22 19:26:06 +00:00
Sam Tobin-Hochstadt
e48efb7618
Handle return of Bottom to context which expectes multiple values.
...
Check values length before using for/and.
Add back ormap/andmap special case for ... args.
svn: r14930
original commit: 7e6c1be6b0886bcd73e308930f313341eaa73add
2009-05-22 19:09:19 +00:00
Sam Tobin-Hochstadt
ec5105962f
Fix keyword argument handling - sort of hackish.
...
svn: r14924
original commit: c8828d0638d6d6ccc1e437ae79e5b82a9937b6ce
2009-05-22 18:18:34 +00:00
Sam Tobin-Hochstadt
4e1108f138
Convert to syntax-parse.
...
Use tc-results->values where appropriate.
svn: r14891
original commit: 06e252b1a15cfe159f4f6c2047ccbaf01e895009
2009-05-20 23:54:14 +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
fc2b7f344d
Pass the right argument to unfold.
...
Fix tc/rec-lambda/check for tc-results in appropriate places.
svn: r14871
original commit: 6d1257e624f6165003af3ddb53d8a3fdf91a14ce
2009-05-19 16:27:44 +00:00
Sam Tobin-Hochstadt
65c216e99d
Add flag for testing unreachability in env+.
...
Use flag in if-unit.
svn: r14870
original commit: eedafc034b99545161a3a3d254cbf43d73cc8b55
2009-05-19 15:24:55 +00:00
Sam Tobin-Hochstadt
a3d05e4cec
Remove tc/if-twoarm/check
...
svn: r14860
original commit: 5f1895cfb587de8072572cdd3090db8e355a3d26
2009-05-18 22:19:05 +00:00
Sam Tobin-Hochstadt
2799f30a5f
take path elems from the end
...
svn: r14859
original commit: b8f944679e9ff255d094c4b50baa619364ae2813
2009-05-18 22:18:47 +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
16f0b6a30b
Fix typo so cdrs in paths are handled.
...
svn: r14826
original commit: b2cf9c0006bb8db35d1de5a0d48042d8958b48c2
2009-05-15 15:05:53 +00:00
Sam Tobin-Hochstadt
077ec2440e
Handle ValuesDots in check-below.
...
Fix typo in valuesdots handling in values->tc-results
Handle ValuesDots in do-ret.
Don't try to construct silly wrappers for `apply values'
Don't use rest as list extension if it's #f
Fix tc-result handling for check-subforms/check
Add stronger contracts for Scope
Always generate substitution for infer/dots.
Fix type of `time-apply'
svn: r14815
original commit: 1047f7625d2dfa53d2896fa44fde732873d86ba4
2009-05-14 18:57:02 +00:00
Sam Tobin-Hochstadt
e9a029e899
Add some contracts in tc/plambda.
...
Fix handling of tc-results vs types.
svn: r14812
original commit: 775fa34f5f0ffeef340e477192606a5beea4734a
2009-05-14 15:11:33 +00:00
Sam Tobin-Hochstadt
d825cc12d7
rationalize get-type/infer to handle tc-results.
...
Fix tc-let to handle tc-results in various places.
svn: r14796
original commit: a3fb3575f9daccccc8ec053d585f3e8e9e192748
2009-05-13 16:16:39 +00:00
Sam Tobin-Hochstadt
b9ec9f145e
Enable inference for ((lambda with rest args when no annotation on rest arg
...
svn: r14794
original commit: 8ca532220a402daace37d5b539d5c95c85e83544
2009-05-13 14:34:44 +00:00
Sam Tobin-Hochstadt
dd1270237f
Fix inference when filters/objects are not needed
...
svn: r14790
original commit: 8fc6e38b1195cae7463ca277a8e2b06678961eb7
2009-05-12 21:31:21 +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
f33aee2881
Type goes before symbol in drest.
...
Handle tc-results properly in a few places.
svn: r14785
original commit: ce9f98098d8c6429e8586d3ff0cbe1cca2477ba0
2009-05-12 16:53:24 +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
43689172b7
polymorphic lambdas are true values.
...
Use correct pattern.
Return the appropriate types from apply, not the Values struct in the rng.
svn: r14756
original commit: 1444c07c0af3f1ebfffe8db7e3782e96711ea2ef
2009-05-08 23:11:57 +00:00
Sam Tobin-Hochstadt
a7cdd78864
Provide tc-literal.
...
svn: r14754
original commit: c2da52d661d95092e55a3bdc069949f2a1fe5683
2009-05-08 21:41:23 +00:00
Sam Tobin-Hochstadt
358a8d5ca6
Remove debugging printfs.
...
Comment tests back in.
svn: r14748
original commit: 3575ba8d5fb8ee8378c69165e88f1af444795a2c
2009-05-08 19:10:12 +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
f031868e1b
Type inference for ((lambda with rest args
...
svn: r14739
original commit: aa887be6d2def1ba9f3c57abb82b31f771ff35f9
2009-05-07 17:40:29 +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
dfcd59c8fa
Handle rest args and case-lambda in app.
...
Fix parsing.
svn: r14722
original commit: 59dbcade9c888afac614dba06b4c93cdff64c6b7
2009-05-05 19:10:21 +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
e79d66e9b8
Rename id to mk-id to avoid name clashes.
...
Start on new tc-app as copy.
svn: r14660
original commit: c5b4ac4f219f2421ebc2743b2c8afa038109f389
2009-04-29 19:52:53 +00:00
Sam Tobin-Hochstadt
9ded685d1c
copy
...
svn: r14659
original commit: e79ece72c524eb8a187bd905dc98a2ebf8b28755
2009-04-29 19:38:36 +00:00
Sam Tobin-Hochstadt
ac6d723e03
more testing
...
svn: r14655
original commit: b205f65bec553659e19641c61b7b5d94bb8e25dd
2009-04-29 16:58:20 +00:00
Sam Tobin-Hochstadt
fa0e28678a
a couple small fixes
...
svn: r14643
original commit: ce0032f4c5d1262848d58f48d6846446b3f46f28
2009-04-28 18:53:16 +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