Commit Graph

229 Commits

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