Vincent St-Amour
c8a4abd264
Improve TR's fixnum optimizations, using the new sub-fixnum types.
...
original commit: 1f0386b46cc7ef08ac59d1d3453412f5eaf3f1e3
2011-03-18 10:25:22 -04:00
Vincent St-Amour
cefc2bec81
Changes to the regular base type environment.
...
original commit: bde2ee0b8d122bae0ecc2c8f0cd0e26285bb9539
2011-03-18 10:25:22 -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
a8ee106320
Take the meet of constraints earlier in the inference process.
...
This avoids constraint explosions in some cases, notably when working
with polydots and plain variable arity functions at the same time.
However, this also weakens inference a bit (breaks it for
unholy-terror and related tests), but not in a way that affects any
practical use cases that I know of.
original commit: 80a9027f1eee6ea56a29aa73c65675f6cf86cdb2
2011-03-18 10:25:19 -04:00
Vincent St-Amour
4f37500ccb
Move subtype check in inference engine earlier, for performance reasons.
...
original commit: d0bab9953508c8e1ff4bf126d33dd8cf4d16bdd1
2011-03-17 18:43:59 -04:00
Vincent St-Amour
246498613a
Share dotted variables to make inference faster.
...
original commit: e450e2815bea5891d61d641e71eb8873f9e43544
2011-03-17 18:43:58 -04:00
Vincent St-Amour
a006817f5e
Remove duplicate constraints when taking their meet.
...
original commit: bd301912c01c27cd20892c8ddf60b4529dd3def1
2011-03-17 18:43:58 -04:00
Vincent St-Amour
f8ded9a56d
Change type of make-sequence to reflect changes to its implementation.
...
original commit: f8528ac8926bbf7d7eb032dbb287182336828bd4
2011-03-17 18:43:57 -04:00
Vincent St-Amour
4e38d34c5a
Fix expected optimization logs to reflect changes to for.
...
original commit: 35161a0ba675677fdcfd25bb9f44809173572e22
2011-03-17 13:10:19 -04:00
Vincent St-Amour
7635a7927d
Fix TR's GUI test harness.
...
original commit: 498ee4bea17298a96a8fc0ffee956e36e3b639c7
2011-03-17 13:10:19 -04:00
Vincent St-Amour
5e37d261e5
Fix contract.
...
original commit: fe8f1c3591ea86f7d0ec7943ccff47c4c2585dea
2011-03-17 13:10:19 -04:00
John Clements
c60b5b21a9
oops rename in tests subdir too
...
original commit: ca88fdd7e52bc57a83e45131fdabc2dddbe4fef4
2011-03-08 17:37:38 -08:00
David Van Horn
091a0f64e3
Fixes more spelling errors.
...
original commit: 760a58b65df2b91010d2bcc2739ddab2a4489729
2011-02-04 19:44:13 -07:00
David Van Horn
774c62bda5
Fixed various spelling errors.
...
original commit: c9519fd11300b07292df8619e86f48533eff6e4d
2011-02-03 17:42:33 -05:00
Vincent St-Amour
4c5e687ec1
Document the Path-String type.
...
original commit: 3c081d8fa7ed9f7328d6f9acffda4ef591da4e47
2011-02-01 18:00:26 -05:00
Vincent St-Amour
f8b7eb8073
Add a case-> type-constructor as a synonym for case-lambda.
...
original commit: 1b3052748e3278deefabf646f4990dc1f8064202
2011-01-31 16:39:20 -05: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
97d8f2613c
Fix typechecking of single flonum literals, now that they are enabled by default.
...
original commit: 0f0a2625c6765a48e6aeb41230d2e6d9225f9c9e
2011-01-31 16:39:18 -05:00
Vincent St-Amour
c0970cc647
Small-Float -> Single-Flonum
...
original commit: f1c6c74284fd913ab8231426bcf1206bcf259f77
2011-01-31 16:39:18 -05:00
Vincent St-Amour
f642a6ce6d
Added the new single-precision float function to TR.
...
original commit: 4ac36fd59bc35cb0d60cb050cfaae21d213064c8
2011-01-31 16:39:18 -05:00
Vincent St-Amour
0e7bf2be4f
Update base-env-indexing to use the new types.
...
original commit: b26531774b6943e73f4b285b827432200b18a433
2011-01-31 16:39:15 -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
8542bc4073
Edit TR's optimizer's docs to reflect that Float-Complex is the only
...
complex type that can be optimized.
original commit: 5dbc752542ec6dec03fb4060ecff16a8cfb5a095
2011-01-31 16:39:15 -05:00
Vincent St-Amour
f6590e9db2
Fix optimizer to work with new types.
...
original commit: 768bb6336142726023bfe2029b5aa25728bda0a3
2011-01-31 16:39:14 -05:00
Vincent St-Amour
956a1533c8
Fix TR tests.
...
original commit: a0a54b231db5c81e9ab66302399b6adc660b701f
2011-01-31 16:39:14 -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
881a3d31e7
Avoid generating large contracts for common numeric types.
...
original commit: 3e27ed607c983bd26d3ccf0c98f4504b86b1642d
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
6473431d0d
Documented opt-lambda: and popt-lambda:.
...
original commit: 4b3e621d0ff54671befe96bff3c49109128e8861
2011-01-31 16:39:12 -05:00
Vincent St-Amour
6a0aa26fde
Fix nightly running of TR tests.
...
original commit: 36ae5a9d50883395e521ead9abdcfe0321bf7943
2011-01-27 16:49:45 -05:00
Vincent St-Amour
b13ebb0924
Generalize hash table literals and subtypes of symbol.
...
Closes PR 11670.
original commit: 2bd0145603f411e01ce6e16bfcf6ffc842b6801a
2011-01-26 14:23:19 -05:00
Eli Barzilay
f71157285c
Abstract the initialization stuff into a separate function.
...
Make it available outside so in the future I can use it in the PL class
code.
original commit: 5998ecc56430c34cabb13519a92fe755eff145cd
2011-01-14 08:35:55 -05:00
Vincent St-Amour
9f19fceabb
Fix portable-fixnum?.
...
original commit: 7808be5e20c022799d16d3a7044dc1e17dd04898
2011-01-12 14:20:29 -05:00
Vincent St-Amour
6d105153f1
Fix portable fixnum size.
...
original commit: cb723092e26f980600df3d66c54321da28b0490e
2011-01-05 14:42:31 -05:00
Sam Tobin-Hochstadt
d2424d72fa
Fix TR tests for new contract error messages.
...
original commit: 2431f8f70646e00d3c65ef6d9d00fc75459d3ff0
2010-12-29 13:46:57 -05:00
Sam Tobin-Hochstadt
84a3802952
Document ordering in `case-lambda' types.
...
Closes PR 11394.
original commit: 25d2827d0dbf25e797c20aa6ec24cd3b7794554d
2010-12-13 07:26:31 -05:00
Carl Eastlund
034c06a30e
New test case for formatting bug in TR error messages.
...
original commit: 5b18305e11b1f2bcba0e6d6e4ebfd7d51fb6ccba
2010-12-10 17:26:17 -05:00
Vincent St-Amour
ee11638bc6
Scheme -> Racket
...
original commit: 740b8308d7d52c1b4b9f00282d1b1c5187cd81e3
2010-12-10 17:17:02 -05:00
Vincent St-Amour
432b1040dc
Update TR tests to reflect new contract error messages.
...
original commit: 09ffb7049288731040aa33c41b5c13952d9ab285
2010-12-10 16:59:13 -05:00
Vincent St-Amour
73046316e6
Allow running individual TR tests.
...
original commit: b9d67eea2f08e5eed8a5d28539aa749e2a64f790
2010-12-10 16:59: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
Vincent St-Amour
a00e498399
Error when running TR's test harness with no tests.
...
original commit: 407d9b5f0792ff94438a7e5f5448f54dddb8f7d9
2010-12-10 13:44:47 -05:00
Vincent St-Amour
a650c59fb3
Test for errors in rhs.
...
original commit: 365d2726660ab9342f229789f268e2461cdd2063
2010-12-08 20:32:20 -05:00
Vincent St-Amour
f4a1a31f61
Typecheck body of letrec using original types instead of potentially undefined type.
...
original commit: 81ef5f9418b0011daa980d438c0eed451b37d578
2010-12-08 20:32:20 -05:00
Vincent St-Amour
0ccef7d4bc
Error if we get a type that may be undefined and we don't expect it.
...
original commit: 53719600d8de6c504c126a316eb87deb2c49ebdd
2010-12-08 20:32:20 -05:00
Vincent St-Amour
2865f2801f
letrec: consider outside bindings safe.
...
original commit: b045153177afe8aaebdbf179dbe27670b1cf577d
2010-12-08 20:32:19 -05:00