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
eb7fc7a965
Have type ascriptions record the ascribed type in the type table.
2010-07-07 19:42:54 -04:00
Sam Tobin-Hochstadt
e865380f6f
Add typeof mappings only to original form.
2010-07-06 14:09:46 -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
Sam Tobin-Hochstadt
0e400291e7
Fix inference for heterogenous vectors.
2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
da3b4ed543
Use `define-type' to make docs clearer.
2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
219682bbbe
Refactoring of tc-app.
...
- Move `check-below' into its own module
- Move `tc/apply' to its own unit
- Move `tc/funapp' and `tc/funapp1' to own module, outside of unit
2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
570df7d665
Generalize fixed-length lists to listofs.
...
Closes PR10057.
2010-07-02 17:25:07 -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
40988d6d54
Added support for recursive types to vector-ref and vector-set!.
2010-07-02 15:48:07 -04:00
Vincent St-Amour
458b6b65c9
Added optimization when iterating over lists.
2010-07-02 15:48:06 -04:00
Vincent St-Amour
f79f617ee8
Calls to vector now return heterogenous vectors, to preserve length
...
information.
2010-07-02 15:48:03 -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
8c25e46141
Literal vectors are now given HeterogenousVector types to preserve
...
length information.
2010-07-02 15:48:00 -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
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