Stevie Strickland
3b0de9c141
Check struct predicate before checking fields.
2010-09-02 19:59:00 -04:00
Sam Tobin-Hochstadt
92ce3ca02d
Use `any/c' for contracts for polymorphic functions.
2010-08-27 18:36:49 -04:00
Vincent St-Amour
d3ee52d451
Added annotations to plain for and for* in typed code.
2010-08-27 18:18:52 -04:00
Vincent St-Amour
ea472a9d57
Added with-asserts, from code from Neil Toronto.
2010-08-26 17:46:58 -04:00
Vincent St-Amour
694d2da4b3
Extend sign analysis to sqr.
2010-08-26 17:46:57 -04:00
Eli Barzilay
7dc4d2e5a6
Change a bunch of "~%" and "~n" in format strings to "\n".
2010-08-25 17:17:01 -04:00
Sam Tobin-Hochstadt
b08de170bc
Add Futureof' type, types for
future' and `touch'
2010-08-25 10:27:07 -04:00
Vincent St-Amour
a4b0c69ec2
Fixed the type of file-position.
2010-08-24 16:58:21 -04:00
Sam Tobin-Hochstadt
0c1dfd3c5e
Require flat contracts in box/c, hash/c, and vector/c.
...
Closes PR 11085.
2010-08-13 11:06:56 -04:00
Vincent St-Amour
0a45e0e361
More precise type for expt.
2010-08-06 11:09:04 -04:00
Vincent St-Amour
500685c0f2
Fixed source location for for:.
2010-08-05 09:04:25 -04:00
Vincent St-Amour
b18f2353ca
Generalize naturals to integers to minimize annotations on mutated variables.
2010-08-05 09:04:25 -04:00
Vincent St-Amour
4cb7491309
Added opt-lambda:.
2010-08-05 09:04:25 -04:00
Vincent St-Amour
416591b355
Fixed parsing of keyword types.
2010-08-05 09:04:24 -04:00
Sam Tobin-Hochstadt
431ff8d794
Don't treat Error types as potentially non-regular. (Reported by SK)
2010-08-02 15:41:42 -04:00
Vincent St-Amour
c4ba6b6038
Added some reflection functions to Typed Racket.
2010-07-29 19:11:20 -04:00
Vincent St-Amour
d6ce6e664f
Added box optimizations.
2010-07-21 21:09:42 -04:00
Vincent St-Amour
234e8c363c
Improved closure properties of bitwise-and.
2010-07-21 21:09:41 -04:00
Vincent St-Amour
d078305a59
Improved behavior of coercions with n-ary arithmeric operations.
2010-07-21 21:09:41 -04:00
Vincent St-Amour
a31d7b60c8
Added type signatures for operations on inexact complexes and floats.
2010-07-21 21:09:40 -04:00
Vincent St-Amour
fc29e7e856
Added mutable pair optimizations.
2010-07-16 12:22:16 -04:00
Vincent St-Amour
b7229487a5
Various fixnum unsafe operations improvements.
2010-07-16 12:22:11 -04:00
Vincent St-Amour
4a8113eac6
Added types for sequence functions.
2010-07-16 12:22:10 -04:00
Vincent St-Amour
85b96a98b3
Fixed the type for fxrshift.
2010-07-16 12:22:10 -04:00
Vincent St-Amour
8c840a2282
Added types for byte-string I/O functions.
2010-07-16 12:22:09 -04:00
Vincent St-Amour
3dbbd6d3fc
Added types for integer/bytes functions.
2010-07-16 12:22:09 -04:00
Vincent St-Amour
abee5a4db7
Added type for collect-garbage.
2010-07-16 12:22:09 -04:00
Vincent St-Amour
24aad77da3
Moved Typed Scheme's optimizer to its own subdirectory.
2010-07-08 18:29:15 -04:00
Vincent St-Amour
ea8523bd63
Fixed pessimization of some complex code.
2010-07-07 22:08:51 -04:00
Vincent St-Amour
7853d33349
Improved unboxed complex operations.
...
Intermediate results are kept as unboxed floats as long as we stay
within complex arithmetic code.
2010-07-07 19:42:56 -04:00
Vincent St-Amour
7921074eef
Avoid boxing intermediate results when doing multiple complex
...
operations in a row.
However, because of values and let-values, we lose float unboxing.
If we have a single complex operation, this is much slower than my
previous implementation (though still faster than generic
operations). With 2 complex operations, the new implementation becomes
faster.
2010-07-07 19:42:55 -04:00
Vincent St-Amour
de52d2ce9f
Avoided duplicate computation in inexact complex division.
2010-07-07 19:42:55 -04:00
Vincent St-Amour
3fb69bc764
Generic inexact complex arithmetic operations are now replaced with
...
the right combinations of unsafe float operations.
2010-07-07 19:42:54 -04:00
Vincent St-Amour
e52d63ee68
Added an optimization for vector-length of known-length vectors.
2010-07-07 19:42:54 -04:00
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
a6d11a1df0
Added struct optimizations.
2010-07-02 20:58:28 -04:00
Vincent St-Amour
ed4f7b7bd7
Fixed make-vector's type to reflect generalization on vectors.
2010-07-02 15:48:08 -04:00
Vincent St-Amour
458b6b65c9
Added optimization when iterating over lists.
2010-07-02 15:48:06 -04:00
Vincent St-Amour
843621398b
Fixed types for the unsafe versions of vector-length.
2010-07-02 15:48:03 -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
cdfbbc5476
Fixed the type of real->decimal-string.
2010-07-02 15:47:56 -04:00
Sam Tobin-Hochstadt
6f7c0112d3
add `displayln'
2010-07-01 17:12:59 -04:00
Sam Tobin-Hochstadt
829689eb9d
Fix error reporting regression.
2010-07-01 13:46:16 -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
1fe70704a2
Updated build-list and build-vector's types for fixnums.
2010-06-30 14:53:23 -04:00
Vincent St-Amour
adf5c8c030
Better types for modulo and remainder involving fixnums.
2010-06-30 14:53:22 -04:00
Vincent St-Amour
62a15df3eb
Added the Nonnegative-Float type.
2010-06-30 14:53:22 -04:00
Vincent St-Amour
f026da5ecf
Added filters for numeric comparisons.
2010-06-30 14:53:22 -04:00
Vincent St-Amour
e8c42cd20c
Extended type signatures for addition.
2010-06-30 14:53:21 -04:00