Sam Tobin-Hochstadt
0ae5843f11
Add unstable/match with == match expander.
...
Add 'match expander' tech def.
svn: r16814
2009-11-16 16:58:11 +00:00
Sam Tobin-Hochstadt
fb29a2498e
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
2009-11-15 22:15:29 +00:00
Sam Tobin-Hochstadt
99a70b38d8
Move mutated-vars and poly-c libraries to unstable collection.
...
- add docs
- change requires
- fix `letrec-syntaxes+values'
Fix contract on `author+email'
svn: r16628
2009-11-09 02:29:02 +00:00
Sam Tobin-Hochstadt
6d70a48de1
Use tail-position syntax property for non-functions.
...
svn: r16451
2009-10-29 18:02:33 +00:00
Sam Tobin-Hochstadt
38fe4782b7
Allow optional keyword args in a few more places
...
svn: r16400
2009-10-21 14:47:56 +00:00
Sam Tobin-Hochstadt
a5849fb05a
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
2009-10-21 13:30:03 +00:00
Sam Tobin-Hochstadt
37106bd6f7
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
2009-10-20 18:30:37 +00:00
Sam Tobin-Hochstadt
6a83901a8b
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
2009-10-18 01:10:00 +00:00
Eli Barzilay
44fda2f304
require trace, not
...
svn: r16223
2009-10-02 20:37:03 +00:00
Sam Tobin-Hochstadt
6efd0abc13
Fix bug with use of match with ... and annotation.
...
svn: r16216
2009-10-02 16:20:30 +00:00
Ryan Culpepper
987ab4c5e8
removed old stxclass collection
...
Please apply to release branch.
svn: r16047
2009-09-17 16:11:20 +00:00
Sam Tobin-Hochstadt
ed65dacdcd
fix uses of syntax-parse attributes
...
svn: r15984
2009-09-11 22:49:56 +00:00
Sam Tobin-Hochstadt
5fc019ba6c
Remove last uses of stxclass.
...
svn: r15976
2009-09-11 17:49:50 +00:00
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