Commit Graph

614 Commits

Author SHA1 Message Date
Vincent St-Amour
8aab96faa6 Made annotations optional for let: and variants. 2010-09-16 13:24:10 -04:00
Vincent St-Amour
9f87b5a7e6 Made some type annotations optional in the for: macros. 2010-09-15 20:21:51 -04:00
Vincent St-Amour
a10d145f25 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.
2010-09-15 20:21:50 -04:00
Stevie Strickland
994ad6d10f Now change box/c to use proxies or chaperones appropriately.
Create a mzlib/contract compatible version of the old box/c and use that
for mzlib/contract.  Change the docs so that the docs for mzlib/contract
contain the right information.

Fix the typed-scheme implementation to only force flat box (or hash)
contracts when it already is required to be flat.  Otherwise, allow
non-flat contracts for the element contract (or domain/range contracts).
2010-09-15 16:57:17 -04:00
Sam Tobin-Hochstadt
5789981f2c Add some file primitives. 2010-09-10 18:29:34 -04:00
Sam Tobin-Hochstadt
0ae9e0ff85 Add `require' to fix tests. 2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
bc6d8f98ed Avoid printing results of `define-hierarchy' 2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
b6b840076b Lots more laziness, and useless require removal. 2010-09-09 16:08:03 -04:00
Sam Tobin-Hochstadt
de0e8bc81c Progress on delaying some environments. 2010-09-09 16:08:03 -04:00
Sam Tobin-Hochstadt
837291a793 simplify requires 2010-09-08 13:20:34 -04:00
Sam Tobin-Hochstadt
120a1d0d87 Load typechecker dynamically to reduce footprint. 2010-09-08 13:20:34 -04:00
Sam Tobin-Hochstadt
fae02be9f0 Add memory fns. 2010-09-08 11:32:04 -04:00
Sam Tobin-Hochstadt
a0e77705e5 Propogate #:mutable for polymorphic structs.
Closes PR 11127
2010-09-08 10:47:51 -04:00
Sam Tobin-Hochstadt
6130f3551c Fix polymorphic structs with mutability. 2010-09-08 10:24:58 -04:00
Sam Tobin-Hochstadt
91fefa055e Make syntax of #{} less accepting of errors. 2010-09-08 10:24:58 -04:00
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