Commit Graph

369 Commits

Author SHA1 Message Date
Vincent St-Amour
389a20795a Added support for make-flrectangular, flreal-part, flimag-part and
their unsafe counterparts to Typed Scheme and its optimizer.
2010-07-02 20:58:30 -04:00
Vincent St-Amour
556734a223 Added coercion of fixnums to floats to the optimizer. 2010-07-02 20:58:29 -04:00
Vincent St-Amour
e8a0a26c2f Changed the optimizer's test harness to ignore type tables. 2010-07-02 20:58:29 -04:00
Vincent St-Amour
a6d11a1df0 Added struct optimizations. 2010-07-02 20:58:28 -04:00
Sam Tobin-Hochstadt
e989631d56 Add flags for running the optimizer tests and compiling the benchmarks 2010-07-02 19:00:57 -04:00
Sam Tobin-Hochstadt
0e400291e7 Fix inference for heterogenous vectors. 2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
570df7d665 Generalize fixed-length lists to listofs.
Closes PR10057.
2010-07-02 17:25:07 -04:00
Vincent St-Amour
458b6b65c9 Added optimization when iterating over lists. 2010-07-02 15:48:06 -04:00
Vincent St-Amour
1886572906 Added support for the 2 versions of optimizer tests to be written in
different languages.
2010-07-02 15:48:05 -04:00
Vincent St-Amour
f6077b02f1 Fixed some tests that used to test for an invalid optimization that is
now valid.
2010-07-02 15:48:04 -04:00
Vincent St-Amour
8c25e46141 Literal vectors are now given HeterogenousVector types to preserve
length information.
2010-07-02 15:48:00 -04:00
Vincent St-Amour
25cb5ef568 Fixed some tests to reflect changes to the optimizer. 2010-07-02 15:47:59 -04:00
Vincent St-Amour
351de3f767 Fixed the behavior of the optimizer on sqrt. 2010-07-02 15:47:58 -04:00
Vincent St-Amour
816cc75654 Fixed tests for invalid optimizations to actually test something. 2010-07-02 15:47:57 -04:00
Vincent St-Amour
636fca1a83 Generalization is now done on vector types. 2010-07-02 15:16:11 -04:00
Sam Tobin-Hochstadt
71bb63c128 Better typing for `make-sequence'. 2010-07-01 17:12:59 -04:00
Sam Tobin-Hochstadt
3d347f117b Add --just flag for running tests. 2010-07-01 13:47:02 -04:00
Sam Tobin-Hochstadt
4f3e3625b3 Fix error spec for this test. 2010-07-01 13:45:52 -04:00
Sam Tobin-Hochstadt
75bd26d326 Better error message for multiple ->
Closes PR 10493.
2010-07-01 11:35:21 -04:00
Vincent St-Amour
62a15df3eb Added the Nonnegative-Float type. 2010-06-30 14:53:22 -04:00
Vincent St-Amour
dcfb2d8a94 Added the Inexact-Complex type. 2010-06-30 14:53:21 -04:00
Vincent St-Amour
ef576e27c5 Fixed the type of min and max to only operate on reals. 2010-06-30 14:53:20 -04:00
Vincent St-Amour
dfafc0b295 Added fixnum optimizations. 2010-06-30 14:53:18 -04:00
Sam Tobin-Hochstadt
c01b239779 Refactor struct type representation.
- fields now represented by fld struct.
 - mutability on per-field basis
 - accessors are per field

This fixes lots of existing bugs, allows future #:mutable on fields.
2010-06-29 17:33:36 -04:00
Vincent St-Amour
28acece484 Fixed Typed Scheme's optimizer's test harness to work with drdr. 2010-06-25 13:25:42 -04:00
Vincent St-Amour
b345d5f0f0 Typed Scheme now optimizes (fl)vector-length for all vectors and
vector-(ref,set!) for vectors of known length.
2010-06-25 11:00:24 -04:00
Vincent St-Amour
fd987546b3 Wrote a test harness and a couple of tests for Typed Scheme's optimizer. 2010-06-25 11:00:23 -04:00
Sam Tobin-Hochstadt
4b1c62c978 Add Fixnum type. 2010-06-24 18:05:55 -04:00
Sam Tobin-Hochstadt
5b1118d514 More options for test runner. 2010-06-24 16:46:31 -04:00
Sam Tobin-Hochstadt
3c8952d63d Use the correct field numbers in substructs.
Maintain table of struct accessors/mutators.
2010-06-24 14:53:38 -04:00
Vincent St-Amour
7d1040283e Added support for unsafe struct operations to Typed Scheme. 2010-06-22 18:42:25 -04:00
Sam Tobin-Hochstadt
6e1954d79b Add `struct:' 2010-06-22 16:29:35 -04:00
Sam Tobin-Hochstadt
bce2cedf38 Typecheck `map' expression, not just #'map. 2010-06-22 10:12:54 -04:00
Sam Tobin-Hochstadt
95c5f942e6 Initialize `infer' for tests 2010-06-22 10:11:14 -04:00
Sam Tobin-Hochstadt
0c7c722e16 support `map' over multiple ListDots with the same bound
- also support ListDots + Listof (map errors when not same length)
2010-06-21 18:30:30 -04:00
Sam Tobin-Hochstadt
44d46e4cd7 Refactor substitution.
- new file types/substitute
 - use structs for substitutions
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
dcc8beb5cd This test case now passes. 2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
e235c837b0 The inference engine doesn't need this annotation anymore. 2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
7b2de53733 Re-enable the printer here. 2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
12384c6c3f Change type variable environments from hash tables to sets. 2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
e9f8cc9aca Refactor test harness. 2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
f7b59f78e9 Generalize ListDots to Listof in inference of loop var types. 2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
a2af89bafd Inference for passing ListDots as Listof. 2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
fd5a662ccc Subtyping between (List T ... a) and (Listof T[Any/a]) 2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
4cbeb0b2f0 Change type of ... rest args to have (List T ...) types. 2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
e40d1824b0 Initial ListDots test. 2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
50f93b9ed7 More environment refactoring.
- rationalize naming of files
- split files by env constructed
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
1e15ce1f32 Fix error message for 1-arg apply 2010-06-19 14:58:52 -04:00
Sam Tobin-Hochstadt
77e4bbb5eb base-types-new -> base-types 2010-06-17 11:47:16 -04:00
Sam Tobin-Hochstadt
bdbb6d48e6 Try harder to find types for loop variables.
- use `find-annotation' more
 - recognize (let ([x y]) ...)
2010-06-17 11:26:33 -04:00