Sam Tobin-Hochstadt
75bd26d326
Better error message for multiple ->
...
Closes PR 10493.
2010-07-01 11:35:21 -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
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
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
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
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
3078807757
Better handling of unsafe identifier generation.
2010-06-24 11:05:55 -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
d570006db8
Add index-env.
...
- Remove Dotted and DottedBoth values from tvar-env
- Abstract env extension and lookup for tvar/index-env
- Abstract index inference
- Remove pointless parameterizations
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
40dbb6389c
First attempts at adding ListDots (and, incidentally, List*) types.
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
50f93b9ed7
More environment refactoring.
...
- rationalize naming of files
- split files by env constructed
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
647c4eef59
Refactor environments.
...
- mapping stored as dict
- use id tables for identifiers
- use env-filter instead of filter
- eliminate spurious use of conses
2010-06-21 18:29:54 -04:00
Vincent St-Amour
1e2c50ec24
Fix to make-vector's type.
2010-06-18 20:24:17 -04:00
Vincent St-Amour
5e901b9ef2
The optimizer now promotes integers to floats when they are used as
...
arguments to a function whose result is a float.
2010-06-18 17:43:05 -04:00
Vincent St-Amour
ecb614849c
Added type signatures for some byte-string functions.
2010-06-18 17:43:03 -04:00
Vincent St-Amour
60c3067ddb
Turned indexing back to using integers rather than naturals.
2010-06-18 17:43:02 -04:00
Vincent St-Amour
b39f686e7e
Fixed the type of unsafe-car and unsafe-cdr.
2010-06-17 19:06:24 -04:00
Vincent St-Amour
07c1f1e94f
Added types for some bitwise operations.
2010-06-17 19:06:24 -04:00
Vincent St-Amour
cc796a9f9a
Added types for thread mailbox operations.
...
Can't have typed mailboxes, though.
2010-06-17 18:45:28 -04:00
Vincent St-Amour
c4e035dd67
Got rid of a reference to the non-existent channel/c.
2010-06-17 18:45:28 -04:00
Sam Tobin-Hochstadt
77e4bbb5eb
base-types-new -> base-types
2010-06-17 11:47:16 -04:00
Vincent St-Amour
a31a7b0718
Added mutable lists to Typed Scheme.
2010-06-16 12:49:01 -04:00
Vincent St-Amour
bb0747f589
Rewrote the indexing code.
2010-06-16 12:49:00 -04:00
Vincent St-Amour
9959f05054
Moved some indexing functions' type signatures.
2010-06-16 12:48:59 -04:00
Vincent St-Amour
8dfd7d87ec
Reimplemented assert as a macro.
2010-06-15 16:39:33 -04:00
Sam Tobin-Hochstadt
4cc86cc8c8
set-mc[ad]r!, inference, printing, tests for mpairs
2010-06-15 16:10:16 -04:00