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