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
Sam Tobin-Hochstadt
bce2cedf38
Typecheck `map' expression, not just #'map.
2010-06-22 10:12:54 -04:00
Sam Tobin-Hochstadt
4df7d09ef1
Docs for List x ...
2010-06-21 18:30:30 -04:00
Sam Tobin-Hochstadt
0c7c722e16
support `map' over multiple ListDots with the same bound
...
- also support ListDots + Listof (map errors when not same length)
2010-06-21 18:30:30 -04:00
Sam Tobin-Hochstadt
b8777d20b2
allow optional specifcation of var pattern
2010-06-21 18:30:29 -04:00
Stevie Strickland
034b22d014
Generate dcon-dotted, and substitute for them.
...
- generated only in the case where we have two ListDots or two ValuesDots
- or when -> with the same bound, and fixed argument lengts are identical
- currently errors if there are any 'fixed' portions
2010-06-21 18:30:29 -04:00
Stevie Strickland
9c22701bd3
Take dcon-dotteds and create an appropriate i-subst/dotted entry.
2010-06-21 18:30:29 -04:00
Stevie Strickland
3f7ca52e37
Add fixed part to dcon-dotted.
2010-06-21 18:30:29 -04:00
Sam Tobin-Hochstadt
339add9f78
Implement substitutions as hash tables from vars to subst-rhs.
...
- add convenience function for generating substitutions
- give trivial substitution for unreferenced index variables
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
44d46e4cd7
Refactor substitution.
...
- new file types/substitute
- use structs for substitutions
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
8990459be6
provide more information in inference failures
2010-06-21 18:30:27 -04:00
Sam Tobin-Hochstadt
692dc025c0
fix fail! to use the correct arguments
2010-06-21 18:30:27 -04:00
Sam Tobin-Hochstadt
9f99c914f3
Fix move-to-dmap functions
2010-06-21 18:30:27 -04:00