Commit Graph

213 Commits

Author SHA1 Message Date
Vincent St-Amour
7e441e8e31 Remove trailing whitespace.
original commit: 3b036388d64c33a63bad18e53341b54bac719b1a
2011-05-18 17:09:45 -04:00
Vincent St-Amour
794bfe775b Give more meaningful names to conditional contract forms.
original commit: a1fab6ec06b1b000e0419f617ec974f2827c57e4
2011-05-18 17:09:45 -04:00
Eric Dobson
303c4913bc Path manipulation now works with SomeSystemPath correctly.
original commit: 9a65545814b114fb2d33434f24d592f6c23a72db
2011-05-17 18:03:48 -04:00
Eric Dobson
a5edb5bff9 Split Path type into Path and OtherSystemPath.
original commit: 05af2b9e17f976b3ecfbc14e062b1b59fa9e1d10
2011-05-17 18:03:48 -04:00
Eric Dobson
a5bbee3ce3 Changed early failure in subtyping to all non-struct values, not just null. Closes PR 11887.
original commit: e9683e1dd2f6544391cc603a6385baee59c6c07e
2011-05-06 11:39:01 -04:00
Vincent St-Amour
f431fd94df Add extra early failure cases to subtype* to avoid inference failures.
original commit: d7fd2b2e3fad604677e04c405e7585dc2c48e872
2011-05-05 18:54:12 -04:00
Sam Tobin-Hochstadt
b8e972df37 Fix a couple typos found by mflatt and the optimzer.
original commit: 31aa47f13653f30d4b4eb4fc92a13964f682f9ea
2011-04-30 19:49:00 -04:00
Vincent St-Amour
e24955b66a Add set types to TR.
Original patch by Eric Dobson.

original commit: 632e36f751ea454874548cdb62d6cb73694c773d
2011-04-28 18:22:39 -04:00
Vincent St-Amour
64b062cb6f No need for EphemeronTop since ephemerons are covariant.
Closes PR 11633.

original commit: 9740d5542b1cd0046ebdbb1c28ba73ea66025366
2011-04-26 15:35:22 -04:00
Eric Dobson
b22c8c9c24 Beginning of ephemeron patch
original commit: 80fa8d3c9799ece292b764f69d10377a34d5495d
2011-04-26 15:35:22 -04:00
Sam Tobin-Hochstadt
e903b419dd 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'.

original commit: 82e6e9d19eb277be03ffd7b91d4549a61bcd723a
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
01a6586f73 Use `in-hash' explicitly.
original commit: d459ad47b897fed0c106f78f357744c2558f7819
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
3f6c0aef0c Add clever comments.
original commit: 6c17b01f99473deecea91ffe3435fd6b11819f37
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
70e0482625 Add cache for `resolve-once'.
Substantial speedups on "new-metrics.rkt" test.

original commit: 79061150efbc304ac6b9c3f74ba0ac0df342857e
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
13b93f380a Use eq? on sequence numbers.
original commit: 0f30f5d8de67bb80f4873a25228afbd7069d2ad1
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
403354ad49 Remove useless requires.
original commit: 51083dbce6bc66305a7d3809097bdaba07c78313
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
32eacbc3b7 Fix typo.
original commit: 7ba2b6e100a9075779bdbdc0a540c8b3044587a5
2011-04-20 09:41:42 -04:00
Sam Tobin-Hochstadt
0c42c44942 Remove useless propositional clauses. Thanks to dyoo for test case.
original commit: 0f5dfd68710bbfadb499e2ab7ff294bcd377053a
2011-04-18 18:42:10 -04:00
Vincent St-Amour
58a8754f50 Optimize filter operations.
original commit: bce90e2a712dccdf0c7283abaa5be49f65d96b59
2011-04-18 13:25:28 -04:00
Vincent St-Amour
8040ee8831 Fix type names.
original commit: 4ba3f1a6ddde6a69cd110435a0294136eb7efd13
2011-03-18 13:25:06 -04:00
Vincent St-Amour
b2d591e70b Provide the index? predicate.
original commit: 17afa91c095d9df8f91820dcb8268df34f9f0165
2011-03-18 13:24:58 -04:00
Vincent St-Amour
f0bdca6383 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.

original commit: ee29d371c9e6882edfc78621110bd11260ee942a
2011-03-18 10:25:21 -04:00
Vincent St-Amour
f2c0187b07 Add a helper function to add filters en masse to express propositions
that are true about a function's arguments if the function returns.

original commit: bf6379c36346e061031fe2916a1f6aece2367fb1
2011-03-18 10:25:20 -04:00
Vincent St-Amour
ddd2dd821b Add an Exact-Number type.
original commit: 88fac43d551687efc72b6241c2dffbbaffe270d7
2011-03-18 10:25:20 -04:00
Vincent St-Amour
2b933e4436 Remove some legacy bindings.
original commit: d65438c9ea1bacce33579c81cc0e22120ab64f5d
2011-01-31 16:39:19 -05:00
Vincent St-Amour
185e8c4d0b Cleanup of exposed base types.
original commit: 22391be437d61fbbe7a1f19b2a2ded393b7afb55
2011-01-31 16:39:19 -05:00
Vincent St-Amour
c0970cc647 Small-Float -> Single-Flonum
original commit: f1c6c74284fd913ab8231426bcf1206bcf259f77
2011-01-31 16:39:18 -05:00
Vincent St-Amour
aa2132e024 Bytes are a sequence of the new Byte type.
original commit: 46f086282d7302e7e015109c9f945a92350e384c
2011-01-31 16:39:15 -05:00
Vincent St-Amour
3d6b5893ba 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.

original commit: e56663c943fe4ae355b6d626d3c84b6ec8ea7fd1
2011-01-31 16:39:13 -05:00
Vincent St-Amour
d5941cb2d6 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.

original commit: d4c93cc12e6df893ba2e782f0e0ea5529738315a
2011-01-31 16:39:13 -05:00
Vincent St-Amour
ddd166c799 Make bare union constructor smarter.
original commit: 78c4809177e6781a42dd29dd9b0bb96c77fa0e01
2011-01-31 16:39:12 -05:00
Vincent St-Amour
8e569511e8 Fix double application of format.
Closes PR 11524.

original commit: f8c01299f971c65509877e22feaaa4f2ccb79227
2010-12-10 16:59:12 -05:00
Sam Tobin-Hochstadt
1527fba4b3 Allow arbitrary filter specification in function types.
Allow (A -> B -> C) for curried function types.

original commit: 87eab889d68dd46bfd5b0f4d79942bc104cb3da2
2010-12-08 18:22:29 -05:00
Vincent St-Amour
5acfe5b67d Take into account potentially undefined values in letrec.
Closes PR11511.

original commit: dc2df4882b6abca46839ace724924df5ab0d7707
2010-12-08 18:17:06 -05:00
Vincent St-Amour
9c5a1e0086 Fixed a fixnum typechecking issue.
original commit: 4c081c127ab91067c3a69568175d7274b090f986
2010-11-04 17:27:34 -04:00
Vincent St-Amour
26aafa3ea6 Fixed potential danger with fixnum optimizations.
original commit: c0a6137c67228933ad94d88409ffd86e30e922ae
2010-11-04 15:35:21 -04:00
Vincent St-Amour
1a4e176824 Inexact-Complex -> Float-Complex
original commit: 27e722f27b673cbfcee60aaba75dfdcab7e396c5
2010-10-12 16:47:46 -04:00
Vincent St-Amour
92b3f9af03 Changed the TR numeric tower to use the new flonums.
original commit: a59a99c42dffec38be98f3c0449097c80bad40fe
2010-10-12 16:47:45 -04:00
Sam Tobin-Hochstadt
fb0df54c79 Fix `overlap' for refinements of base types.
original commit: 7bcd107e7ff5ce64791a5613a13f6445a87c638c
2010-10-07 11:19:54 -04:00
Vincent St-Amour
105b82fb70 Fixed tautology/contradiction recording to work with case-lambda.
original commit: 5395dbca122c534db3d70139c871e0bc4b91515f
2010-10-06 17:32:29 -04:00
Sam Tobin-Hochstadt
5733f06d9a Contract fixes.
original commit: c739128703d917540ff963775459b6c75ccf2c80
2010-10-01 19:29:18 -07:00
Vincent St-Amour
7876c75cbc Got rid of a broken subtyping rule.
original commit: 5a67535a950ba19846151a6f7a3f7a473affea86
2010-10-01 17:48:47 -04:00
Sam Tobin-Hochstadt
c13d984042 Add additional require for identifiers in the residual program.
original commit: c15871a0284fcf2a6a8c78fafde4fdd9a9551bca
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
eba0c35b6c Fix `require' for contracts.
original commit: 867f35927430b61c411ae7c930964b9e70f42cc5
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
e717d29b74 Lots more laziness, and useless require removal.
original commit: b6b840076b275d653843400f18259bf7f67c7a53
2010-09-09 16:08:03 -04:00
Robby Findler
780c2159b8 changed the ->d contracts to ->i contracts
original commit: d419e8c12a554d660a65198dd102bc03e01c93a8
2010-09-09 14:21:35 -05:00
Eli Barzilay
48b7074752 More "~n" -> "\n" changes
original commit: 8e0f8dd39c3744472b450021f003f9cbe8cbcb62
2010-08-26 12:11:00 -04:00
Sam Tobin-Hochstadt
7efb07a4b0 Add Futureof' type, types for future' and `touch'
original commit: b08de170bc616d2217c6fde3dff8c3f1b042eb3b
2010-08-25 10:27:07 -04:00
Stevie Strickland
21da67fbd9 Fix creation of a reversed List type from ListDots substitution.
original commit: a9f6ea69bfbb23d4e6ab1b5ebfcb6bb9e3b3c05a
2010-08-12 17:46:39 -04:00
Vincent St-Amour
f51d1e640d Imaginaries can't be inexact complexes.
original commit: bce003fa1813b309382d6af01090f3cb5b9f84d5
2010-08-03 14:51:24 -04:00