Commit Graph

511 Commits

Author SHA1 Message Date
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
Vincent St-Amour
fe84eaf722 Added struct optimizations.
original commit: a6d11a1df08336183e1af36b787c134e1bf4f469
2010-07-02 20:58:28 -04:00
Vincent St-Amour
c6d892cd0f Fixed make-vector's type to reflect generalization on vectors.
original commit: ed4f7b7bd7bc452b6accfd32ae14402fc60532c7
2010-07-02 15:48:08 -04:00
Vincent St-Amour
d1687b5b2b Added optimization when iterating over lists.
original commit: 458b6b65c9c281c0da2f2c63de068037d3d55703
2010-07-02 15:48:06 -04:00
Vincent St-Amour
e431a658e6 Fixed types for the unsafe versions of vector-length.
original commit: 843621398b1086f492f6b9130a7a93a65c2fe4f3
2010-07-02 15:48:03 -04:00
Vincent St-Amour
fbf7cbd494 Fixed the behavior of the optimizer on sqrt.
original commit: 351de3f767cd7b32fe75963e206c7c8da379d26b
2010-07-02 15:47:58 -04:00
Vincent St-Amour
1ebe111f88 Fixed the type of real->decimal-string.
original commit: cdfbbc5476b6c2df62aedc8813ad13bc28cb2619
2010-07-02 15:47:56 -04:00
Sam Tobin-Hochstadt
75ea7fcd25 add `displayln'
original commit: 6f7c0112d3310a3e189874974c0a623a0c330537
2010-07-01 17:12:59 -04:00
Sam Tobin-Hochstadt
b837057b1d Fix error reporting regression.
original commit: 829689eb9d93f19a7872a31c8d536be542ed8675
2010-07-01 13:46:16 -04:00
Sam Tobin-Hochstadt
63b18963f3 Better error message for multiple ->
Closes PR 10493.

original commit: 75bd26d3265d807406db3d7014e4a02ec826630c
2010-07-01 11:35:21 -04:00
Vincent St-Amour
2229399d2c Updated build-list and build-vector's types for fixnums.
original commit: 1fe70704a2cbe4462f9bd1b116db9f356d06b4ea
2010-06-30 14:53:23 -04:00
Vincent St-Amour
eb326dd443 Better types for modulo and remainder involving fixnums.
original commit: adf5c8c030656026d70a627009a0655bd1546af7
2010-06-30 14:53:22 -04:00
Vincent St-Amour
6dd9ffd727 Added the Nonnegative-Float type.
original commit: 62a15df3eb2fd7dc5a8ef2455c0f20918697a668
2010-06-30 14:53:22 -04:00
Vincent St-Amour
e25b242c6a Added filters for numeric comparisons.
original commit: f026da5ecf4cd144dfc82ec5660c95542c49bb07
2010-06-30 14:53:22 -04:00
Vincent St-Amour
9b7ee99d39 Extended type signatures for addition.
original commit: e8c42cd20cc00e607e44bb6f172333d49b8a707d
2010-06-30 14:53:21 -04:00
Vincent St-Amour
f89158a144 Updated make-vector's type for fixnums.
original commit: 06b636b2e31e32fed83d1a58293e1b8f36f8381a
2010-06-30 14:53:21 -04:00
Vincent St-Amour
b7d9ed75e2 Added the Inexact-Complex type.
original commit: dcfb2d8a94b1359217b9451b7a97d4afa425a6da
2010-06-30 14:53:21 -04:00
Vincent St-Amour
c6a22a53f4 Fixed the type of min and max to only operate on reals.
original commit: ef576e27c5187783648209c55d4ca211ff693e05
2010-06-30 14:53:20 -04:00
Vincent St-Amour
848b6f0e02 Kept track of source location better in the for: macros and got rid of
useless type ascriptions.

original commit: 22a652ef8effe8cf670cd69221cb3dd4689b6a21
2010-06-30 14:53:20 -04:00
Vincent St-Amour
431d91bf89 Fixed the type for hash-ref!
original commit: 90252c9bd33e7205a5494dd13fc823d6df78b477
2010-06-30 14:53:20 -04:00