Vincent St-Amour
32d80f4c01
Remove duplicate require.
2011-06-22 14:43:42 -04:00
Eric Dobson
1348887bd1
Cleaned up base-env. Added comments about untyped identifiers.
...
Used one-of/c to clean up some types.
2011-06-17 15:17:20 -04:00
Eric Dobson
029651b9ee
Added types for regexp operations. Changed Regexp to correspond to regexp?.
2011-06-17 15:17:19 -04:00
Eric Dobson
6f3bbad367
Added types for I/O operations
2011-06-17 15:17:19 -04:00
Eric Dobson
c77e906c7a
Added types and tests for equality operations.
2011-06-17 15:17:19 -04:00
Eric Dobson
2d152bac79
Added types and tests for raising and handling exceptions
2011-06-17 15:17:19 -04:00
Vincent St-Amour
7f55680028
Eta-expand typechecking of literals, to improve performance.
2011-06-07 21:15:17 -04:00
Eli Barzilay
2eb0a94677
Removed a bogus provide and two bogus tests.
...
(Which worked because the same functionality is part of `racket'.)
2011-06-07 03:38:06 -04:00
Vincent St-Amour
3b036388d6
Remove trailing whitespace.
2011-05-18 17:09:45 -04:00
Vincent St-Amour
a1fab6ec06
Give more meaningful names to conditional contract forms.
2011-05-18 17:09:45 -04:00
Eric Dobson
9a65545814
Path manipulation now works with SomeSystemPath correctly.
2011-05-17 18:03:48 -04:00
Eric Dobson
05af2b9e17
Split Path type into Path and OtherSystemPath.
2011-05-17 18:03:48 -04:00
Eric Dobson
e9683e1dd2
Changed early failure in subtyping to all non-struct values, not just null. Closes PR 11887.
2011-05-06 11:39:01 -04:00
Vincent St-Amour
d7fd2b2e3f
Add extra early failure cases to subtype* to avoid inference failures.
2011-05-05 18:54:12 -04:00
Sam Tobin-Hochstadt
31aa47f136
Fix a couple typos found by mflatt and the optimzer.
2011-04-30 19:49:00 -04:00
Vincent St-Amour
632e36f751
Add set types to TR.
...
Original patch by Eric Dobson.
2011-04-28 18:22:39 -04:00
Vincent St-Amour
9740d5542b
No need for EphemeronTop since ephemerons are covariant.
...
Closes PR 11633.
2011-04-26 15:35:22 -04:00
Eric Dobson
80fa8d3c97
Beginning of ephemeron patch
2011-04-26 15:35:22 -04:00
Sam Tobin-Hochstadt
82e6e9d19e
Avoid resolving types when checking subtyping on structs.
...
This fixes problems with caching, because sometimes we were giving the wrong answer for nested calls to `subtype'.
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
d459ad47b8
Use `in-hash' explicitly.
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
6c17b01f99
Add clever comments.
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
79061150ef
Add cache for `resolve-once'.
...
Substantial speedups on "new-metrics.rkt" test.
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
0f30f5d8de
Use eq? on sequence numbers.
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
51083dbce6
Remove useless requires.
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
7ba2b6e100
Fix typo.
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
0f5dfd6871
Remove useless propositional clauses. Thanks to dyoo for test case.
2011-04-18 18:42:10 -04:00
Vincent St-Amour
bce90e2a71
Optimize filter operations.
2011-04-18 13:25:28 -04:00
Vincent St-Amour
4ba3f1a6dd
Fix type names.
2011-03-18 13:25:06 -04:00
Vincent St-Amour
17afa91c09
Provide the index? predicate.
2011-03-18 13:24:58 -04:00
Vincent St-Amour
ee29d371c9
Updated TR's base type environment to use the new numeric types.
...
This ended up being an almost complete rewrite of the base environment.
Note: While the commit is dated Jan 27, the work was finished on Mar 2.
2011-03-18 10:25:21 -04:00
Vincent St-Amour
bf6379c363
Add a helper function to add filters en masse to express propositions
...
that are true about a function's arguments if the function returns.
2011-03-18 10:25:20 -04:00
Vincent St-Amour
88fac43d55
Add an Exact-Number type.
2011-03-18 10:25:20 -04:00
Vincent St-Amour
d65438c9ea
Remove some legacy bindings.
2011-01-31 16:39:19 -05:00
Vincent St-Amour
22391be437
Cleanup of exposed base types.
2011-01-31 16:39:19 -05:00
Vincent St-Amour
f1c6c74284
Small-Float -> Single-Flonum
2011-01-31 16:39:18 -05:00
Vincent St-Amour
46f086282d
Bytes are a sequence of the new Byte type.
2011-01-31 16:39:15 -05:00
Vincent St-Amour
e56663c943
Add a predicate field to base types, which makes checking for
...
subtyping of value types easier.
However, this means that base types can't be marshaled as before,
since these predicates can't be marshaled. Instead, we now marshal
base types as identifiers that refer to their base type object.
2011-01-31 16:39:13 -05:00
Vincent St-Amour
d4c93cc12e
TR's numeric tower is now built from unions of non-overlapping base types.
...
A lot of the work that was done by special-casing number types can now be
done by TR's handling of unions. This makes it easier to add more numeric
types to the tower and should make writing down types for numeric
primitives much less error-prone.
In addition, this commit adds several numeric types that will help get
tighter bounds on integer arithmetic, such as Index types. They will have
to be integrated to the base environment before they can be useful.
2011-01-31 16:39:13 -05:00
Vincent St-Amour
78c4809177
Make bare union constructor smarter.
2011-01-31 16:39:12 -05:00
Vincent St-Amour
2bd0145603
Generalize hash table literals and subtypes of symbol.
...
Closes PR 11670.
2011-01-26 14:23:19 -05:00
Vincent St-Amour
f8c01299f9
Fix double application of format.
...
Closes PR 11524.
2010-12-10 16:59:12 -05:00
Sam Tobin-Hochstadt
87eab889d6
Allow arbitrary filter specification in function types.
...
Allow (A -> B -> C) for curried function types.
2010-12-08 18:22:29 -05:00
Vincent St-Amour
dc2df4882b
Take into account potentially undefined values in letrec.
...
Closes PR11511.
2010-12-08 18:17:06 -05:00
Vincent St-Amour
4c081c127a
Fixed a fixnum typechecking issue.
2010-11-04 17:27:34 -04:00
Vincent St-Amour
c0a6137c67
Fixed potential danger with fixnum optimizations.
2010-11-04 15:35:21 -04:00
Vincent St-Amour
27e722f27b
Inexact-Complex -> Float-Complex
2010-10-12 16:47:46 -04:00
Vincent St-Amour
a59a99c42d
Changed the TR numeric tower to use the new flonums.
2010-10-12 16:47:45 -04:00
Sam Tobin-Hochstadt
7bcd107e7f
Fix `overlap' for refinements of base types.
2010-10-07 11:19:54 -04:00
Vincent St-Amour
5395dbca12
Fixed tautology/contradiction recording to work with case-lambda.
2010-10-06 17:32:29 -04:00
Sam Tobin-Hochstadt
c739128703
Contract fixes.
2010-10-01 19:29:18 -07:00