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
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
Stevie Strickland
e7e187e1de
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).
original commit: 994ad6d10fc817a5ceca2f9f4874dac5c14c0aab
2010-09-15 16:57:17 -04:00
Sam Tobin-Hochstadt
8a568284b9
Add some file primitives.
...
original commit: 5789981f2c4756f2f6cd066ac6f28555dc57e1fd
2010-09-10 18:29:34 -04:00
Sam Tobin-Hochstadt
e0b7b06a21
Add `require' to fix tests.
...
original commit: 0ae9e0ff851a1d5835ac8ab1eb1bd1a0b7ab3c8c
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
df6cce314c
Avoid printing results of `define-hierarchy'
...
original commit: bc6d8f98ed08e1f70f1b3ea255869b06533d2372
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
63748f9460
Progress on delaying some environments.
...
original commit: de0e8bc81ce566d9a540832f794d96b2cf9409ce
2010-09-09 16:08:03 -04:00
Sam Tobin-Hochstadt
54763a9ca3
simplify requires
...
original commit: 837291a793bd9602af16404db1b4fc49e639021f
2010-09-08 13:20:34 -04:00
Sam Tobin-Hochstadt
72a11f2d56
Load typechecker dynamically to reduce footprint.
...
original commit: 120a1d0d87824f90b153047cc3a5408a60753b65
2010-09-08 13:20:34 -04:00
Sam Tobin-Hochstadt
1503fed8c3
Add memory fns.
...
original commit: fae02be9f06aefd55c65211d2e95a07041ebfede
2010-09-08 11:32:04 -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
4bf64acde5
Fix polymorphic structs with mutability.
...
original commit: 6130f3551c1019c1bc035d802378c29bf574a0c1
2010-09-08 10:24:58 -04:00
Sam Tobin-Hochstadt
617496f14e
Make syntax of #{} less accepting of errors.
...
original commit: 91fefa055ea0b0fda8ae8bffb993bc163e4160af
2010-09-08 10:24:58 -04:00
Stevie Strickland
3e6ab819c6
Check struct predicate before checking fields.
...
original commit: 3b0de9c141edee84be57768a22b1ae3264fcc7f5
2010-09-02 19:59:00 -04:00
Sam Tobin-Hochstadt
01fd7f5b8c
Use `any/c' for contracts for polymorphic functions.
...
original commit: 92ce3ca02d448df97ba8e9e2210a898848cae0f1
2010-08-27 18:36:49 -04:00
Vincent St-Amour
f360fac138
Added annotations to plain for and for* in typed code.
...
original commit: d3ee52d4514170b514faecb80b5c939bf7da3aea
2010-08-27 18:18:52 -04:00
Vincent St-Amour
acd7b572ae
Added with-asserts, from code from Neil Toronto.
...
original commit: ea472a9d57b7344e9111bd37663fd7ad0884f0d5
2010-08-26 17:46:58 -04:00
Vincent St-Amour
ee39b520ce
Extend sign analysis to sqr.
...
original commit: 694d2da4b362f83b6f492095c712703856acb068
2010-08-26 17:46:57 -04:00
Eli Barzilay
8ab581cf2e
Change a bunch of "~%" and "~n" in format strings to "\n".
...
original commit: 7dc4d2e5a63ab416d90e44d7bf75cb5593329909
2010-08-25 17:17:01 -04:00
Sam Tobin-Hochstadt
7efb07a4b0
Add Futureof' type, types for
future' and `touch'
...
original commit: b08de170bc616d2217c6fde3dff8c3f1b042eb3b
2010-08-25 10:27:07 -04:00
Vincent St-Amour
69ebe6711b
Fixed the type of file-position.
...
original commit: a4b0c69ec20074eba319070613ff63d40cd937e0
2010-08-24 16:58:21 -04:00
Sam Tobin-Hochstadt
6369cdb91c
Require flat contracts in box/c, hash/c, and vector/c.
...
Closes PR 11085.
original commit: 0c1dfd3c5e3490fedf2ec27b7aed962bd0cbd174
2010-08-13 11:06:56 -04:00
Vincent St-Amour
b9ef6ec241
More precise type for expt.
...
original commit: 0a45e0e361d811ac07440fb24d415502d191583c
2010-08-06 11:09:04 -04:00
Vincent St-Amour
507afc21f4
Fixed source location for for:.
...
original commit: 500685c0f2b02ccc8ffb8746d93fde5b25a20ccc
2010-08-05 09:04:25 -04:00
Vincent St-Amour
79f4bcfbdb
Generalize naturals to integers to minimize annotations on mutated variables.
...
original commit: b18f2353cab9712c827dda692649bcd16bc3e79e
2010-08-05 09:04:25 -04:00
Vincent St-Amour
ece22fd4fd
Added opt-lambda:.
...
original commit: 4cb749130954c821754fd976d92c02aca2013429
2010-08-05 09:04:25 -04:00
Vincent St-Amour
d1e64146d4
Fixed parsing of keyword types.
...
original commit: 416591b35532d117bb70acf7a8282329b626c27b
2010-08-05 09:04:24 -04:00
Sam Tobin-Hochstadt
1f05ee70e2
Don't treat Error types as potentially non-regular. (Reported by SK)
...
original commit: 431ff8d794425e12577c662be7827a38531ad39f
2010-08-02 15:41:42 -04:00
Vincent St-Amour
d19a3ff923
Added some reflection functions to Typed Racket.
...
original commit: c4ba6b60388a2d65fcb44a726d12373f9ca17eee
2010-07-29 19:11:20 -04:00
Vincent St-Amour
19f4d78569
Added box optimizations.
...
original commit: d6ce6e664f0bd361207725fb3ea9b2a265f39374
2010-07-21 21:09:42 -04:00
Vincent St-Amour
245f1e311c
Improved closure properties of bitwise-and.
...
original commit: 234e8c363cfd90499566ae24b3cb548785a93ff8
2010-07-21 21:09:41 -04:00
Vincent St-Amour
43683352c5
Improved behavior of coercions with n-ary arithmeric operations.
...
original commit: d078305a59368156e0c977798af4cb805bc3b679
2010-07-21 21:09:41 -04:00
Vincent St-Amour
53f7550b51
Added type signatures for operations on inexact complexes and floats.
...
original commit: a31d7b60c8e6911f7b77c3a6f96af2c37da36b9e
2010-07-21 21:09:40 -04:00
Vincent St-Amour
1657089284
Added mutable pair optimizations.
...
original commit: fc29e7e8562e4b00c6e7de5882d8ccf374051ca1
2010-07-16 12:22:16 -04:00
Vincent St-Amour
a4cb468a71
Various fixnum unsafe operations improvements.
...
original commit: b7229487a59d3fa53f92bffb9f7374ab28bb8032
2010-07-16 12:22:11 -04:00
Vincent St-Amour
8d95570bcb
Added types for sequence functions.
...
original commit: 4a8113eac6adfd68533a0a134ba8b1434846da97
2010-07-16 12:22:10 -04:00
Vincent St-Amour
7849444de2
Fixed the type for fxrshift.
...
original commit: 85b96a98b3f3ae2cb89f157bbf2ee3a83a5c365e
2010-07-16 12:22:10 -04:00
Vincent St-Amour
4d23f3416c
Added types for byte-string I/O functions.
...
original commit: 8c840a22825bd6f2723e02a8ff56d76ffaa66367
2010-07-16 12:22:09 -04:00
Vincent St-Amour
33f4ea048d
Added types for integer/bytes functions.
...
original commit: 3dbbd6d3fc47e3f23fee85bfcfe53d2827f18db5
2010-07-16 12:22:09 -04:00
Vincent St-Amour
9a06f49bce
Added type for collect-garbage.
...
original commit: abee5a4db7633ccbc3daff77d5ab80594756bea3
2010-07-16 12:22:09 -04:00
Vincent St-Amour
e9ff5ae34d
Moved Typed Scheme's optimizer to its own subdirectory.
...
original commit: 24aad77da3e3c2e411642cdb08fffaaa31a0b1cb
2010-07-08 18:29:15 -04:00
Vincent St-Amour
8ffb3128e4
Fixed pessimization of some complex code.
...
original commit: ea8523bd63665f5330d25c7babf3872298f1e570
2010-07-07 22:08:51 -04:00
Vincent St-Amour
9320340cb9
Improved unboxed complex operations.
...
Intermediate results are kept as unboxed floats as long as we stay
within complex arithmetic code.
original commit: 7853d333495376f065c63a19866ac2eba6f8926a
2010-07-07 19:42:56 -04:00
Vincent St-Amour
f7ac316db2
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.
original commit: 7921074eef1e36984479db5b8eea3c6bbbe13064
2010-07-07 19:42:55 -04:00
Vincent St-Amour
d55cf6d13a
Avoided duplicate computation in inexact complex division.
...
original commit: de52d2ce9ffede21df37e74edb6cdb47bfab1828
2010-07-07 19:42:55 -04:00
Vincent St-Amour
9e3912d390
Generic inexact complex arithmetic operations are now replaced with
...
the right combinations of unsafe float operations.
original commit: 3fb69bc764885f2e6ef25134da747caa32b80f05
2010-07-07 19:42:54 -04:00
Vincent St-Amour
592aa2ac8c
Added an optimization for vector-length of known-length vectors.
...
original commit: e52d63ee686e20401f0b0df80d178e40e9a0226f
2010-07-07 19:42:54 -04:00
Vincent St-Amour
ccbf54bdf7
Added support for make-flrectangular, flreal-part, flimag-part and
...
their unsafe counterparts to Typed Scheme and its optimizer.
original commit: 389a20795a5bb6db25341b899e7ec58e6eb5a0d1
2010-07-02 20:58:30 -04:00
Vincent St-Amour
a3a3bd1e2e
Added coercion of fixnums to floats to the optimizer.
...
original commit: 556734a223f4193c1c23ded76f204f1e6bb25295
2010-07-02 20:58:29 -04:00