Commit Graph

133 Commits

Author SHA1 Message Date
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