Commit Graph

951 Commits

Author SHA1 Message Date
Vincent St-Amour
636fca1a83 Generalization is now done on vector types. 2010-07-02 15:16:11 -04:00
Vincent St-Amour
06279de2ca Nonnegative-Floats are now generalized to Floats. 2010-07-02 15:16:10 -04:00
Sam Tobin-Hochstadt
ed88b9dd1a Better handling of expected types for `vector' 2010-07-01 17:32:16 -04:00
Sam Tobin-Hochstadt
71bb63c128 Better typing for `make-sequence'. 2010-07-01 17:12:59 -04:00
Sam Tobin-Hochstadt
9a1c08e230 Avoid some quotes while printing types. 2010-07-01 17:12:59 -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
Sam Tobin-Hochstadt
efbdfd3e6e Support syntax errors blaming multiple syntaxes. 2010-07-01 11:35:20 -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
Vincent St-Amour
06b636b2e3 Updated make-vector's type for fixnums. 2010-06-30 14:53:21 -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
22a652ef8e Kept track of source location better in the for: macros and got rid of
useless type ascriptions.
2010-06-30 14:53:20 -04:00
Vincent St-Amour
90252c9bd3 Fixed the type for hash-ref! 2010-06-30 14:53:20 -04:00
Vincent St-Amour
8ec6d7ff3f Added a rule for valid float promotion when dividing. 2010-06-30 14:53:19 -04:00
Vincent St-Amour
c6373ca7c0 Added special case to the typechecker for (- <positive-fixnum> 1). 2010-06-30 14:53:19 -04:00
Vincent St-Amour
f27aac552f Fixed build-vector's type. 2010-06-30 14:53:19 -04:00
Vincent St-Amour
a6872c67a7 Eliminate exact->inexact of floats. 2010-06-30 14:53:18 -04:00
Vincent St-Amour
dfafc0b295 Added fixnum optimizations. 2010-06-30 14:53:18 -04:00
Vincent St-Amour
cee39c4a38 Added fixnums to more type signatures. 2010-06-30 14:53:18 -04:00
Sam Tobin-Hochstadt
f763404347 Forgot to disable this yet again. 2010-06-30 12:04:23 -04:00
Sam Tobin-Hochstadt
18078400b7 make subst structs transparent 2010-06-29 17:34:44 -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
Sam Tobin-Hochstadt
3c4f1f39b8 minor cleanups 2010-06-29 17:33:35 -04:00
Sam Tobin-Hochstadt
26e73cf61d Remove bogus reference to 'sexpression', add docs for Sexp type, don't use Sexp where inappropriate 2010-06-28 11:12:21 -04:00
Sam Tobin-Hochstadt
a214f50812 remove unneeded export 2010-06-28 11:12:20 -04:00
Sam Tobin-Hochstadt
0bae63b516 Use get-type/infer for un-annotated defines. 2010-06-28 11:12:20 -04:00
Sam Tobin-Hochstadt
90d8a3cc13 Generalize mutated variables when inferring types. 2010-06-28 11:12:20 -04:00
Vincent St-Amour
382a45ad6f Fixed the optimizer so that it optimizes float comparisons. 2010-06-25 11:00:26 -04:00
Vincent St-Amour
d6008f9191 Typed Scheme now optimizes (exact->inexact <Integer>) to (->fl <Integer>). 2010-06-25 11:00:25 -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
d47221c55d Added better tracing to the optimizer. 2010-06-25 11:00:23 -04:00
Sam Tobin-Hochstadt
3251712ef7 More fixnum improvements. 2010-06-24 18:17:01 -04:00
Sam Tobin-Hochstadt
4b1c62c978 Add Fixnum type. 2010-06-24 18:05:55 -04:00
Sam Tobin-Hochstadt
a33f460b25 recreate selector table automatically. 2010-06-24 16:48:10 -04:00
Sam Tobin-Hochstadt
40ca16bc30 Types are not quotable. 2010-06-24 16:47:25 -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
Sam Tobin-Hochstadt
3078807757 Better handling of unsafe identifier generation. 2010-06-24 11:05:55 -04:00
Vincent St-Amour
3c9e7e34db Switched indexing to integers in the typechecker's special cases for
heterogenous vectors and unsafe struct operations.
2010-06-22 18:42:26 -04:00
Vincent St-Amour
7d1040283e Added support for unsafe struct operations to Typed Scheme. 2010-06-22 18:42:25 -04:00
Vincent St-Amour
379d9a2125 Added support for unsafe operations on heterogenous vectors. 2010-06-22 18:29:57 -04:00
Vincent St-Amour
eea31102b0 Moved the types for some byte string operations to
base-env-indexing-abs.rkt.
2010-06-22 18:29:57 -04:00
Vincent St-Amour
192c1fa995 Fixed the types of flvector operations. 2010-06-22 18:29:56 -04:00
Vincent St-Amour
61545c4e75 Made make-vector's type more convenient. 2010-06-22 18:29:56 -04:00
Sam Tobin-Hochstadt
6e1954d79b Add `struct:' 2010-06-22 16:29:35 -04:00