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
387ee8193b
Add `typed/scheme/system'
...
Special handling of (letrec ([x e]) x)
Allow functions with optional keyword args to be inferred when kws not supplied.
Infer instantiations for kw functions in simple cases.
Add `Path-String' type
Fix types of `filter', `with-{input-to,output-from}-file'
Add `port->lines'
New 'metrics.ss' test
svn: r16385
original commit: 37106bd6f7241277288ad56a3c75aef53cdfc3c3
2009-10-20 18:30:37 +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
Eli Barzilay
43b5710477
require trace, not
...
svn: r16223
original commit: 44fda2f304627a0e36f8e505cf5bf3bd9d4ff729
2009-10-02 20:37:03 +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
Ryan Culpepper
8eb494615f
removed old stxclass collection
...
Please apply to release branch.
svn: r16047
original commit: 987ab4c5e8c4548b9eb87f6f78c75b6877118065
2009-09-17 16:11:20 +00:00
Sam Tobin-Hochstadt
535ec1720f
fix uses of syntax-parse attributes
...
svn: r15984
original commit: ed65dacdcd2c4c2d2cfe2177865598c97903dfd7
2009-09-11 22:49:56 +00:00
Sam Tobin-Hochstadt
87d48f63ef
Remove last uses of stxclass.
...
svn: r15976
original commit: 5fc019ba6c8d0a9ca21c05c4a92f8476e348f407
2009-09-11 17:49:50 +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
Sam Tobin-Hochstadt
5caab968c2
fix keyword application handling for new expansion
...
svn: r15864
original commit: 799027d40f74bcb08071bf4ecd222d5c3133b67c
2009-09-03 07:54:32 +00:00
Sam Tobin-Hochstadt
c315e83375
Handle type ascription and type instantiation better with expected type.
...
Add remove-ascription
Identify incorrect element of wrongly typed list.
Use function argument types as expected types.
Allow multiple uses of orig-module-stx, older one takes precedence.
svn: r15857
original commit: b3dde2ca7f0e343e207deb2d983785a7fea64a1b
2009-09-01 22:25:35 +00:00
Sam Tobin-Hochstadt
dec8803f27
when result type is dotted, pass it through tc-expr/check
...
svn: r15737
original commit: 5174bbb5f062011c2edfe7a0403071055830f55f
2009-08-14 20:27:53 +00:00
Sam Tobin-Hochstadt
1d9468f30a
return a better type
...
svn: r15736
original commit: 83e0ec2b407fc06092757cdec0ec898c415b3818
2009-08-14 19:44:46 +00:00
Sam Tobin-Hochstadt
51eff5eeb3
improve docs for opaque types
...
fix pr 10106
svn: r15723
original commit: 79c4f9651eb49299e22631d5a0342f84e52237d9
2009-08-12 22:22:54 +00:00
Sam Tobin-Hochstadt
f5e92fdd23
fix pr 10097
...
svn: r15722
original commit: 614980f6ec32bab5f18aada279d008501ec21898
2009-08-12 22:05:41 +00:00
Sam Tobin-Hochstadt
0b7ccf2e4b
fix 9967
...
svn: r15720
original commit: 6af7d327099ad47227a8df7e513b61e7341178a7
2009-08-12 21:52:21 +00:00
Eli Barzilay
01e9263aa0
use spaces instead of tabs to indent output
...
svn: r15719
original commit: 95f4d1eefe54b69b5ea81de4e4a0cda55e261a99
2009-08-12 21:37:33 +00:00
Sam Tobin-Hochstadt
031ca17732
improve types for numeric predicates
...
fix pr 9767
svn: r15717
original commit: 50b7a0b190ffea945aa012ad1be005bf3bd15030
2009-08-12 20:42:20 +00:00
Sam Tobin-Hochstadt
3df1a5b1a8
Allow filters/objects to be provided to untyped code.
...
svn: r15706
original commit: 50545830f2bc3176fb0e34d828d8fdbd4c6eb7fc
2009-08-11 21:00:57 +00:00
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