Commit Graph

542 Commits

Author SHA1 Message Date
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
Sam Tobin-Hochstadt
913179f2ed types for basic mpair ops 2010-06-15 15:58:37 -04:00
Sam Tobin-Hochstadt
b644ec7be4 fix types of `read' functions 2010-06-14 17:35:05 -04:00
Sam Tobin-Hochstadt
81f262c7ca Type for `curry'.
Closes PR 10956
2010-06-14 08:24:43 -04:00
Sam Tobin-Hochstadt
cf5c74a2ca Generate -> instead of ->* when required by case->.
Closes PR 10977.
2010-06-13 15:01:57 -04:00
Sam Tobin-Hochstadt
d4d286d31d Allow (All (A) A -> A), dropping pair of parens. 2010-06-13 14:38:03 -04:00
Sam Tobin-Hochstadt
408d9adb5a add \rightarrow as alias for -> 2010-06-13 14:35:05 -04:00
Eric Dobson
90f015408c Added some stuff to typed scheme, mostly port and character functions. 2010-06-13 08:20:49 -04:00
Vincent St-Amour
c9a96c1d2c Added some closure and promotion type signatures. 2010-06-11 20:55:47 -04:00
Vincent St-Amour
aae1acf035 Fixed a bug in the optimizer that made it optimize where it
shouldn't have.
2010-06-11 20:53:10 -04:00
Vincent St-Amour
de0d9a27dc Fixed string-copy!'s type signature. 2010-06-11 19:48:23 -04:00
Sam Tobin-Hochstadt
7ece2a4872 Fix type of `zero?' to properly handle 0.0. 2010-06-11 18:54:05 -04:00
Sam Tobin-Hochstadt
4f2952f4b9 minor refactorings 2010-06-11 11:55:21 -04:00
Sam Tobin-Hochstadt
490361c0fc Add types for a few more values. 2010-06-10 18:58:44 -04:00