Commit Graph

467 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
2865f2801f letrec: consider outside bindings safe.
original commit: b045153177afe8aaebdbf179dbe27670b1cf577d
2010-12-08 20:32:19 -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
Sam Tobin-Hochstadt
05e1489dfb Better handling of `hash-*' functions, and hashes as sequences.
original commit: 73dbf42e0e6fb750d871060d6ed34adf6e207eec
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
Sam Tobin-Hochstadt
db3c6bbbe0 Avoid dumb parsing bugs in require/typed.
original commit: 561fdc8db580c828a45dc27c4ca61b21dccad311
2010-10-26 18:09:45 -04:00
Vincent St-Amour
9b5a5a6bb5 Fix opt-lambda:. Merge to 5.0.2.
original commit: a15236ea4f1ba84c9351632e9469e1cd34b5375b
2010-10-20 14:32:37 -04:00
Vincent St-Amour
4a6b3b2b57 Removed logging when no optimization actually happens.
original commit: 12a5454b147468df59e92cb7057e0e9515ad5abd
2010-10-14 14:13:06 -04:00
Vincent St-Amour
759a3707c8 Fixed a test to reflect implicit let in cond instead of implicit begin.
original commit: 3f5ea8a5be1da62f4766585f891e7c5340c52588
2010-10-14 10:53:43 -04:00
Vincent St-Amour
1a4e176824 Inexact-Complex -> Float-Complex
original commit: 27e722f27b673cbfcee60aaba75dfdcab7e396c5
2010-10-12 16:47:46 -04:00
Vincent St-Amour
d60793d271 Changed the interface for running single optimizer tests.
original commit: f3ae9c73b0f58d2d56e2ee3cee605c58a9bb3a1d
2010-10-12 16:47:45 -04:00
Vincent St-Amour
19784fffe5 Improved TR's error messages when all domains but one have been eliminated.
original commit: db0046101cb8b75e56215b4528d280894c59a36d
2010-10-07 18:30:35 -04:00
Vincent St-Amour
30780b3f6a Changed the optimizer's test harness for optimization on by default.
original commit: abcbce129bf65fc63daa33d843589305efd94b81
2010-10-06 17:32:30 -04:00
Vincent St-Amour
7876c75cbc Got rid of a broken subtyping rule.
original commit: 5a67535a950ba19846151a6f7a3f7a473affea86
2010-10-01 17:48:47 -04:00
Vincent St-Amour
8c6264008d Delete compiled benchmarks when testing.
original commit: f7436b59fb3d1f91481216148f4e147315b0144c
2010-10-01 17:48:46 -04:00
Matthew Flatt
b6a14210ed rename file to avoid :, which is not allowed under Windows
original commit: fa7dd9b522f0dd14d3b71c74256803228379d562
2010-09-20 03:31:18 -06:00
Vincent St-Amour
75d628bd68 Added a test for optional let annotations.
original commit: 7e2094f2d719cfdb626c6aa78893a8516c9a7ea0
2010-09-16 13:24:10 -04:00
Vincent St-Amour
8a94fce374 Fix some optimizer test logs to reflect racket changes.
original commit: e03e53b1cba5a63b5f9c0dafbb777d7116c93d1d
2010-09-16 10:48:28 -04:00
Vincent St-Amour
cc871deebb Made some type annotations optional in the for: macros.
original commit: 9f87b5a7e6a2034a4d936bd2cc8e67632f8c6e3b
2010-09-15 20:21:51 -04:00
Vincent St-Amour
99b35249ab Removed useless requires.
original commit: 8b60085a177d40b8a494e8f5aafe7fe52022d225
2010-09-15 20:21:51 -04:00
Vincent St-Amour
b03abef7ff Added annotated versions of the for macros that generate vectors.
They are purposedly left out of the documentation since the typchecker
can't currently handle their expansion.

original commit: a10d145f25dd4257dd216ea0b1e97184a29c7683
2010-09-15 20:21:50 -04:00
Vincent St-Amour
f991c65bb7 Added a test to make sure derived lists accessors don't get optimized then they shouldn't.
original commit: 65c502f9d75f919b8af37bee9698b24a082b27a0
2010-09-15 20:21:50 -04:00
Sam Tobin-Hochstadt
087b5fd8f7 Fix internal error when single value expected.
original commit: 979561354d3c0949208e1dd7fed9fe750f4c1cef
2010-09-10 18:29:34 -04:00
Vincent St-Amour
f88c8f479e Extended pair optimization to the rest of the standard derived pair accessors.
original commit: 0166ece180194605a52841a2a91fb2618e0372a1
2010-09-09 18:54:34 -04:00
Vincent St-Amour
19dcce8809 Refactoring.
original commit: 74508210687ad0e415af1f28037357ec2640e3ba
2010-09-09 18:54:34 -04:00
Vincent St-Amour
dee0ddc16e Extended pair optimizations to some derived pair accessors.
original commit: 024f873947bb5664b92cd68be55653b2ca4a24ee
2010-09-09 18:54:33 -04:00
Vincent St-Amour
ba761592c6 Included expected optimization logs in the test files.
original commit: 7f546434ed1648ff52efdb0e84883e8af5b2837a
2010-09-09 18:54:33 -04:00
Sam Tobin-Hochstadt
9e9680d5ff Fix typechecker tests for new environment setup.
original commit: 00a8a85f9dd344026a1ca8a4087a86d9bf571728
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
Sam Tobin-Hochstadt
fba3c3b9ca Propogate #:mutable for polymorphic structs.
Closes PR 11127

original commit: a0e77705e578927e5d8180e6bc811461173580ab
2010-09-08 10:47:51 -04:00
Sam Tobin-Hochstadt
617496f14e Make syntax of #{} less accepting of errors.
original commit: 91fefa055ea0b0fda8ae8bffb993bc163e4160af
2010-09-08 10:24:58 -04:00
Vincent St-Amour
73decd8674 Fix broken tests that depended on an unsafe optimization.
original commit: 14097dd90e787c08a138fa5e907680f6af96aea3
2010-09-07 20:11:44 -04:00
Vincent St-Amour
a506c6cefb Ignored a rounding error between PPC and x86.
original commit: e1fd445fa4acab85eb2894bc94dc1a9b009fc9ba
2010-08-29 10:17:56 -04:00
Vincent St-Amour
e9e53e8382 Improved sandboxing with code from Eli.
original commit: b386f01ee45b5d6f0d6dcb59668b16e729a80cc8
2010-08-27 18:18:51 -04:00