Sam Tobin-Hochstadt
eda69b472a
Remove almost all uses of `stxclass' library.
...
svn: r15944
2009-09-09 21:24:05 +00:00
Sam Tobin-Hochstadt
63d318fd4b
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
2009-09-08 19:51:34 +00:00
Sam Tobin-Hochstadt
799027d40f
fix keyword application handling for new expansion
...
svn: r15864
2009-09-03 07:54:32 +00:00
Sam Tobin-Hochstadt
b3dde2ca7f
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
2009-09-01 22:25:35 +00:00
Sam Tobin-Hochstadt
5174bbb5f0
when result type is dotted, pass it through tc-expr/check
...
svn: r15737
2009-08-14 20:27:53 +00:00
Sam Tobin-Hochstadt
83e0ec2b40
return a better type
...
svn: r15736
2009-08-14 19:44:46 +00:00
Sam Tobin-Hochstadt
79c4f9651e
improve docs for opaque types
...
fix pr 10106
svn: r15723
2009-08-12 22:22:54 +00:00
Sam Tobin-Hochstadt
614980f6ec
fix pr 10097
...
svn: r15722
2009-08-12 22:05:41 +00:00
Sam Tobin-Hochstadt
6af7d32709
fix 9967
...
svn: r15720
2009-08-12 21:52:21 +00:00
Eli Barzilay
95f4d1eefe
use spaces instead of tabs to indent output
...
svn: r15719
2009-08-12 21:37:33 +00:00
Sam Tobin-Hochstadt
50b7a0b190
improve types for numeric predicates
...
fix pr 9767
svn: r15717
2009-08-12 20:42:20 +00:00
Sam Tobin-Hochstadt
50545830f2
Allow filters/objects to be provided to untyped code.
...
svn: r15706
2009-08-11 21:00:57 +00:00
Sam Tobin-Hochstadt
28be0897c3
Move student expansion above or.
...
Improve printing when no object.
svn: r15704
2009-08-11 20:19:19 +00:00
Eli Barzilay
a70bf64fd9
Newlines at EOFs
...
svn: r15380
2009-07-04 02:28:31 +00:00
Sam Tobin-Hochstadt
5b79cd7c0c
Use let/ec instead of let/cc
...
let/ec: and let/cc:
type for call-with-current-continuation
Start on ImpFilters
svn: r15220
2009-06-19 18:01:33 +00:00
Sam Tobin-Hochstadt
7b82069fa0
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
2009-06-12 19:04:39 +00:00
Sam Tobin-Hochstadt
c27dccb9d8
Improve error messages and printing.
...
Turn off contracts.
svn: r14947
2009-05-22 22:30:24 +00:00
Sam Tobin-Hochstadt
844cbc6782
move new-if to if.
...
svn: r14942
2009-05-22 22:06:48 +00:00
Sam Tobin-Hochstadt
2a55bec335
remove obselete code
...
svn: r14941
2009-05-22 22:05:56 +00:00
Sam Tobin-Hochstadt
7d239a4dfa
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
2009-05-22 21:41:12 +00:00
Sam Tobin-Hochstadt
0feb99f6bc
Use tc-result1: instead of tc-result: in object handling.
...
Use tc-results->values instead of bogus version.
svn: r14937
2009-05-22 21:19:46 +00:00
Sam Tobin-Hochstadt
2ee1d2b596
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
2009-05-22 20:07:36 +00:00
Sam Tobin-Hochstadt
7237ad6046
Fix construction of predicate type for `declare-refinement'.
...
svn: r14933
2009-05-22 19:26:06 +00:00
Sam Tobin-Hochstadt
7e6c1be6b0
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
2009-05-22 19:09:19 +00:00
Sam Tobin-Hochstadt
c8828d0638
Fix keyword argument handling - sort of hackish.
...
svn: r14924
2009-05-22 18:18:34 +00:00
Sam Tobin-Hochstadt
06e252b1a1
Convert to syntax-parse.
...
Use tc-results->values where appropriate.
svn: r14891
2009-05-20 23:54:14 +00:00
Sam Tobin-Hochstadt
c4762078e3
Remove lots of debugging code.
...
Use `needs-resolving?' in subtype.
Make resolve-{app,name} handle not-yet-bound names.
svn: r14890
2009-05-20 23:40:03 +00:00
Sam Tobin-Hochstadt
19c4aa6ba4
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
2009-05-20 18:35:59 +00:00
Sam Tobin-Hochstadt
6d1257e624
Pass the right argument to unfold.
...
Fix tc/rec-lambda/check for tc-results in appropriate places.
svn: r14871
2009-05-19 16:27:44 +00:00
Sam Tobin-Hochstadt
eedafc034b
Add flag for testing unreachability in env+.
...
Use flag in if-unit.
svn: r14870
2009-05-19 15:24:55 +00:00
Sam Tobin-Hochstadt
5f1895cfb5
Remove tc/if-twoarm/check
...
svn: r14860
2009-05-18 22:19:05 +00:00
Sam Tobin-Hochstadt
b8f944679e
take path elems from the end
...
svn: r14859
2009-05-18 22:18:47 +00:00
Sam Tobin-Hochstadt
ddefd28d6d
Fix handling of structs-as-functions.
...
Subtyping should look up names in both positions.
svn: r14827
2009-05-15 15:47:22 +00:00
Sam Tobin-Hochstadt
b2cf9c0006
Fix typo so cdrs in paths are handled.
...
svn: r14826
2009-05-15 15:05:53 +00:00
Sam Tobin-Hochstadt
1047f7625d
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
2009-05-14 18:57:02 +00:00
Sam Tobin-Hochstadt
775fa34f5f
Add some contracts in tc/plambda.
...
Fix handling of tc-results vs types.
svn: r14812
2009-05-14 15:11:33 +00:00
Sam Tobin-Hochstadt
a3fb3575f9
rationalize get-type/infer to handle tc-results.
...
Fix tc-let to handle tc-results in various places.
svn: r14796
2009-05-13 16:16:39 +00:00
Sam Tobin-Hochstadt
8ca532220a
Enable inference for ((lambda with rest args when no annotation on rest arg
...
svn: r14794
2009-05-13 14:34:44 +00:00
Sam Tobin-Hochstadt
8fc6e38b11
Fix inference when filters/objects are not needed
...
svn: r14790
2009-05-12 21:31:21 +00:00
Sam Tobin-Hochstadt
a8a64cfa7c
Special case for `call-with-values'
...
handle subtyping with ... args
svn: r14788
2009-05-12 20:56:32 +00:00
Sam Tobin-Hochstadt
ce9f98098d
Type goes before symbol in drest.
...
Handle tc-results properly in a few places.
svn: r14785
2009-05-12 16:53:24 +00:00
Sam Tobin-Hochstadt
7b4081eef1
Allow objects to be specified in ->
...
Fix overlap to handle overlapping base types (numbers)
svn: r14781
2009-05-12 15:13:17 +00:00
Sam Tobin-Hochstadt
1444c07c0a
polymorphic lambdas are true values.
...
Use correct pattern.
Return the appropriate types from apply, not the Values struct in the rng.
svn: r14756
2009-05-08 23:11:57 +00:00
Sam Tobin-Hochstadt
c2da52d661
Provide tc-literal.
...
svn: r14754
2009-05-08 21:41:23 +00:00
Sam Tobin-Hochstadt
3575ba8d5f
Remove debugging printfs.
...
Comment tests back in.
svn: r14748
2009-05-08 19:10:12 +00:00
Sam Tobin-Hochstadt
dbe5556b45
Add missing file.
...
Fix bug in struct type creation.
Add ability to disable printing dynamically.
Fix recursion into objects & paths.
svn: r14747
2009-05-08 19:00:07 +00:00
Sam Tobin-Hochstadt
d2cc1b2400
All code from old app is now in new app
...
svn: r14740
2009-05-07 20:17:38 +00:00
Sam Tobin-Hochstadt
aa887be6d2
Type inference for ((lambda with rest args
...
svn: r14739
2009-05-07 17:40:29 +00:00
Sam Tobin-Hochstadt
50696a08a3
Handle polymorphic function application.
...
Paths work with car/cdr.
Fix #%require/#%provide top-level handling.
svn: r14735
2009-05-06 22:45:12 +00:00
Sam Tobin-Hochstadt
07341c605b
Remove `make-arr/values'
...
Accessors now have appropriate latent objects
Handle function application for unions, error, mu, parameters
svn: r14724
2009-05-05 23:03:02 +00:00