Commit Graph

82 Commits

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