Commit Graph

59 Commits

Author SHA1 Message Date
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
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
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
Sam Tobin-Hochstadt
96f664354d Elimintate printing of complex filters.
Allow parsing of ...* and ...a
Parameter for printing ...* and ...a

svn: r16225
2009-10-02 20:41:56 +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
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
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
bc6d606a60 Merge in changes to Syntax types from Carl.
svn: r15156
2009-06-12 20:53:47 +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
7d9f506760 Fix a bunch of types and function types
svn: r15133
2009-06-10 21:46:52 +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
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
23a735ee2f Add contract for make-pred-ty
svn: r14934
2009-05-22 19:43:31 +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
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
a8a64cfa7c Special case for `call-with-values'
handle subtyping with ... args

svn: r14788
2009-05-12 20:56:32 +00:00
Sam Tobin-Hochstadt
5300481176 Move `hashof' contract combinator to utils/utils.ss
Fix frees for arr to use `fix-bounds' properly.
Match : symbolically in ->*

svn: r14786
2009-05-12 19:53:48 +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
fbae33b1c3 match based on symbol for : in ->
svn: r14758
2009-05-08 23:31:33 +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
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
Sam Tobin-Hochstadt
6b89062d6a 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
2009-05-05 16:27:18 +00:00
Sam Tobin-Hochstadt
9c538764dc `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
2009-05-04 18:49:56 +00:00
Sam Tobin-Hochstadt
cce7f91b78 fix values->tc-results, doesn't compile yet
svn: r14688
2009-05-02 12:46:53 +00:00
Sam Tobin-Hochstadt
b4d100d60c 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
2009-05-01 21:18:23 +00:00
Sam Tobin-Hochstadt
91f5c26964 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
2009-04-29 22:54:29 +00:00
Sam Tobin-Hochstadt
7b6702c9e7 fix subtyping w/ filters
svn: r14640
2009-04-28 14:56:18 +00:00
Sam Tobin-Hochstadt
077574cfe1 more fixes for lambda with expected
svn: r14639
2009-04-28 14:48:53 +00:00
Sam Tobin-Hochstadt
dfbfc371e2 more printer improvements
svn: r14633
2009-04-27 22:24:47 +00:00
Sam Tobin-Hochstadt
9853ae1f0f Lots more fixes
svn: r14631
2009-04-27 21:16:34 +00:00
Sam Tobin-Hochstadt
f2bffcabab Sync to trunk again.
Fix require/contract.
Subtyping, printing for refinements.

svn: r14626
2009-04-27 18:26:00 +00:00
Sam Tobin-Hochstadt
8cbdf3ee95 compiles again
svn: r14625
2009-04-27 16:06:54 +00:00
Sam Tobin-Hochstadt
fcc2a24545 sync ts to trunk
svn: r14257
2009-03-25 01:07:34 +00:00
Sam Tobin-Hochstadt
537d267314 disable application checking, `3' now typechecks
svn: r14128
2009-03-16 15:28:29 +00:00
Sam Tobin-Hochstadt
c51dd1e8b0 new version of abstract-filters that handles multiple values/arguments properly
strengthen contracts
improve match expanders

svn: r14057
2009-03-11 19:11:50 +00:00
Sam Tobin-Hochstadt
058e78ab17 tc-lambda-unit now compiles
generalize tc-results to handle drest

svn: r14044
2009-03-11 00:15:13 +00:00
Sam Tobin-Hochstadt
18e03efc84 New true-filter and false-filter abbrevs
Fix for Stevie's d-s/c fix.
tc-expr now compiles

svn: r14007
2009-03-07 22:51:54 +00:00
Sam Tobin-Hochstadt
2dbd82e587 Add provides
Use Type/c instead fo Type? in contracts
New if typechecking.
match expanders for tc-result.

svn: r13996
2009-03-06 22:25:19 +00:00
Sam Tobin-Hochstadt
6c30e2d9e7 Remove some old debugging printfs in soon-to-be-dead code.
Fix some requires.
Start implementing metafunctions.
Strengthen contracts on filter-sets.
Rename N B Sym.

svn: r13988
2009-03-06 19:50:42 +00:00
Sam Tobin-Hochstadt
147cac076c handle subtyping for varargs functions
svn: r13962
2009-03-05 00:09:43 +00:00
Sam Tobin-Hochstadt
e53a851bc2 base-env now compiles
svn: r13954
2009-03-04 19:28:48 +00:00
Sam Tobin-Hochstadt
37aa9746ea more stuff compiles
svn: r13952
2009-03-04 18:53:37 +00:00
Sam Tobin-Hochstadt
7847d35842 undo this move
svn: r13947
2009-03-04 16:37:00 +00:00
Sam Tobin-Hochstadt
e8fa7fd4dd more movement
svn: r13945
2009-03-04 16:32:50 +00:00
Sam Tobin-Hochstadt
c819793a82 more stuff works
svn: r13935
2009-03-04 00:13:54 +00:00