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
0fb1ac66bd
Properly compute Dotted variance for ListDots and ValuesDots.
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
a9c34dae6a
Remove dotted-env.
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
f7b59f78e9
Generalize ListDots to Listof in inference of loop var types.
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
a2af89bafd
Inference for passing ListDots as Listof.
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
fd5a662ccc
Subtyping between (List T ... a) and (Listof T[Any/a])
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
4c3f279ab9
Eliminate expressions with dotted pre-types.
...
- Now looks for (List T ...) types.
- special handling of `map', `andmap', `ormap' when list arg is dotted
- remove tc-dots-unit
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
4cbeb0b2f0
Change type of ... rest args to have (List T ...) types.
2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
71939d2826
Handle simple inference of ListDots.
2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
310bdf3529
Substitution for (List T ...)
2010-06-21 18:29:56 -04:00
Stevie Strickland
62fb6f9311
Add subtyping for dotted lists with the same bound.
2010-06-21 18:29:55 -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
7e9763cf14
Stratify environments to only include props when needed.
2010-06-21 18:29:54 -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
Sam Tobin-Hochstadt
4925e7e51f
Refactor provide handling.
...
- use id-tables instead of lists
- smarter iteration
- prepare for eliminating declarations when not needed, but don't do it yet
2010-06-21 15:42:52 -04:00
Stevie Strickland
0aae2c866f
Fix use of add-type-expr from commit 5d835ded
.
2010-06-19 14:58:52 -04:00
Sam Tobin-Hochstadt
1e15ce1f32
Fix error message for 1-arg apply
2010-06-19 14:58:52 -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
5d835ded47
Added the type of the 1 literals in expressions of the form (- x 1) to
...
the type table.
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
02238a7c6d
Fix contract for structs
2010-06-17 15:26:13 -04:00
Sam Tobin-Hochstadt
0262ef681a
handle multiple body expression properly
2010-06-17 12:50:30 -04:00
Sam Tobin-Hochstadt
77e4bbb5eb
base-types-new -> base-types
2010-06-17 11:47:16 -04:00
Sam Tobin-Hochstadt
bdbb6d48e6
Try harder to find types for loop variables.
...
- use `find-annotation' more
- recognize (let ([x y]) ...)
2010-06-17 11:26:33 -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
f73d63e1af
eq? is a predicate for eof
2010-06-15 14:59:08 -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
Sam Tobin-Hochstadt
c2ac8046c4
Fix grammar for rest args in lambda:.
...
Closes PR 10976
2010-06-13 14:34:16 -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
a4c556bc85
Made Typed Scheme's optimizer silent.
2010-06-11 20:53:09 -04:00
Vincent St-Amour
de0d9a27dc
Fixed string-copy!'s type signature.
2010-06-11 19:48:23 -04:00
Vincent St-Amour
96c541912c
Fixed a bug with eof and procedure types overlapping.
2010-06-11 19:48:22 -04:00