Sam Tobin-Hochstadt
33c18b3985
providing static struct information to untyped code works
...
svn: r18198
2010-02-19 23:27:06 +00:00
Sam Tobin-Hochstadt
1039e68e03
New representation for free variables, now stored in struct.
...
Interning now merely used to create key, eq? not = for types.
svn: r18107
2010-02-17 00:09:38 +00:00
Sam Tobin-Hochstadt
90c8fcff11
Generate proper contracts for polymorphic struct types.
...
Document `Nothing'.
svn: r18074
2010-02-12 21:57:58 +00:00
Sam Tobin-Hochstadt
e99b1d028c
Fix printing of `Number' - reported by Noel.
...
Provide `assert' from `typed/scheme'
svn: r18062
2010-02-12 15:49:58 +00:00
Sam Tobin-Hochstadt
2276cb10d5
Fix subtyping for keywords.
...
svn: r18025
2010-02-08 23:03:55 +00:00
Sam Tobin-Hochstadt
55a48ca594
Fix a number of bugs reported by eli
...
svn: r18017
2010-02-08 18:17:15 +00:00
Eli Barzilay
c88a5a6856
A bunch of additional typos
...
svn: r17976
2010-02-05 03:21:52 +00:00
Sam Tobin-Hochstadt
318833f422
Add supertypes for mutable types, so that predicates work correctly.
...
svn: r17971
2010-02-04 23:39:15 +00:00
Sam Tobin-Hochstadt
5e1b355e32
Syntax for predicates with non-empty paths
...
svn: r17660
2010-01-14 23:17:56 +00:00
Sam Tobin-Hochstadt
91629fd31a
Reject some cases of nested types.
...
svn: r17619
2010-01-12 20:36:30 +00:00
Sam Tobin-Hochstadt
81e963bd46
`reverse' is special on all tuples
...
svn: r17612
2010-01-11 22:13:22 +00:00
Sam Tobin-Hochstadt
4fa4f6fd2d
Propogate expected type through `reverse'.
...
New loop special case for `for/list'.
svn: r17609
2010-01-11 20:48:26 +00:00
Sam Tobin-Hochstadt
f13453e889
`andmap' now works as a predicate in Typed Scheme
...
svn: r17575
2010-01-08 19:05:58 +00:00
Sam Tobin-Hochstadt
d0c8a19ce8
Fix abstraction of implications.
...
Fix contract for lookup-typed/lexical.
Default cases for printing.
Abstract out indexing functions for Nat/Integer split.
svn: r17272
2009-12-11 23:00:37 +00:00
Sam Tobin-Hochstadt
dde2c1fb18
fix sorting
...
svn: r17270
2009-12-11 17:09:51 +00:00
Sam Tobin-Hochstadt
791ec55787
fixes
...
svn: r17265
2009-12-11 00:25:59 +00:00
Sam Tobin-Hochstadt
92dbf99965
logic works properly now, it seems
...
svn: r17264
2009-12-10 23:35:28 +00:00
Sam Tobin-Hochstadt
16c152e5a4
revert all of the interning changes since they didn't work
...
svn: r17262
2009-12-10 17:15:17 +00:00
Sam Tobin-Hochstadt
e3bafbe298
checkpoint
...
svn: r17054
2009-11-25 02:30:41 +00:00
Sam Tobin-Hochstadt
750c971d07
checkpoint
...
svn: r16931
2009-11-21 00:11:37 +00:00
Sam Tobin-Hochstadt
6497745560
Skip backup files in tests.
...
More specific numeric types.
More subtyping relationships.
svn: r16922
2009-11-20 15:20:23 +00:00
Sam Tobin-Hochstadt
1da2c7cd7d
many fixes
...
svn: r16913
2009-11-20 03:56:57 +00:00
Sam Tobin-Hochstadt
111b71c844
checkpoint
...
svn: r16908
2009-11-20 00:06:32 +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
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