Vincent St-Amour
27e722f27b
Inexact-Complex -> Float-Complex
2010-10-12 16:47:46 -04:00
Vincent St-Amour
a59a99c42d
Changed the TR numeric tower to use the new flonums.
2010-10-12 16:47:45 -04:00
Sam Tobin-Hochstadt
7bcd107e7f
Fix `overlap' for refinements of base types.
2010-10-07 11:19:54 -04:00
Vincent St-Amour
5395dbca12
Fixed tautology/contradiction recording to work with case-lambda.
2010-10-06 17:32:29 -04:00
Sam Tobin-Hochstadt
c739128703
Contract fixes.
2010-10-01 19:29:18 -07:00
Vincent St-Amour
5a67535a95
Got rid of a broken subtyping rule.
2010-10-01 17:48:47 -04:00
Sam Tobin-Hochstadt
c15871a028
Add additional require for identifiers in the residual program.
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
867f359274
Fix `require' for contracts.
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
b6b840076b
Lots more laziness, and useless require removal.
2010-09-09 16:08:03 -04:00
Robby Findler
d419e8c12a
changed the ->d contracts to ->i contracts
2010-09-09 14:21:35 -05:00
Eli Barzilay
8e0f8dd39c
More "~n" -> "\n" changes
2010-08-26 12:11:00 -04:00
Sam Tobin-Hochstadt
b08de170bc
Add Futureof' type, types for
future' and `touch'
2010-08-25 10:27:07 -04:00
Stevie Strickland
a9f6ea69bf
Fix creation of a reversed List type from ListDots substitution.
2010-08-12 17:46:39 -04:00
Vincent St-Amour
b18f2353ca
Generalize naturals to integers to minimize annotations on mutated variables.
2010-08-05 09:04:25 -04:00
Vincent St-Amour
bce003fa18
Imaginaries can't be inexact complexes.
2010-08-03 14:51:24 -04:00
Sam Tobin-Hochstadt
431ff8d794
Don't treat Error types as potentially non-regular. (Reported by SK)
2010-08-02 15:41:42 -04:00
Vincent St-Amour
c4ba6b6038
Added some reflection functions to Typed Racket.
2010-07-29 19:11:20 -04:00
Vincent St-Amour
c4ae44123f
Bytes are fixnums.
2010-07-21 21:09:41 -04:00
Vincent St-Amour
60bfce14bc
Fixed unsafe optimization that considered floats as complexes.
2010-07-16 19:08:20 -04:00
Vincent St-Amour
4d5b50dee9
Further fixes in overlap checking.
...
Rhss of code dispatching on overlapping structs are no longer
considered dead, and as such, are now typechecked.
Had to fix a test that passed only because some not-really-dead code
was not being typechecked.
2010-07-16 19:08:19 -04:00
Stevie Strickland
654b7df1de
Two fixes in overlap checking.
...
- Names were not being resolved, so a superstruct name and substruct name
could be seen as non-overlapping.
- Struct parents were not checked in the overlapping algorithm.
2010-07-16 19:08:19 -04:00
Vincent St-Amour
1e550139aa
Added dead code elimination.
2010-07-16 12:22:11 -04:00
Vincent St-Amour
58fe07ad70
Better internal error reporting.
2010-07-16 12:22:11 -04:00
Vincent St-Amour
a6d11a1df0
Added struct optimizations.
2010-07-02 20:58:28 -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
06279de2ca
Nonnegative-Floats are now generalized to Floats.
2010-07-02 15:16:10 -04:00
Sam Tobin-Hochstadt
9a1c08e230
Avoid some quotes while printing types.
2010-07-01 17:12:59 -04:00
Vincent St-Amour
62a15df3eb
Added the Nonnegative-Float type.
2010-06-30 14:53:22 -04:00
Vincent St-Amour
dcfb2d8a94
Added the Inexact-Complex type.
2010-06-30 14:53:21 -04:00
Vincent St-Amour
cee39c4a38
Added fixnums to more type signatures.
2010-06-30 14:53:18 -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
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
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
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
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
99e499a503
Change inference to take into account index vs regular vars.
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
662f982b72
Refactor free variables.
...
- free-idxs no longer holds free de Bruijn indexes
This information is not needed, and not stored anywhere
- free-idxs holds free *index* variables, in the sense of the TOPLAS submission
2010-06-21 18:30:24 -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
f7b59f78e9
Generalize ListDots to Listof in inference of loop var types.
2010-06-21 18:29:58 -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
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
Vincent St-Amour
a31a7b0718
Added mutable lists to Typed Scheme.
2010-06-16 12:49:01 -04:00
Sam Tobin-Hochstadt
4cc86cc8c8
set-mc[ad]r!, inference, printing, tests for mpairs
2010-06-15 16:10:16 -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