Vincent St-Amour
105b82fb70
Fixed tautology/contradiction recording to work with case-lambda.
...
original commit: 5395dbca122c534db3d70139c871e0bc4b91515f
2010-10-06 17:32:29 -04:00
Sam Tobin-Hochstadt
5733f06d9a
Contract fixes.
...
original commit: c739128703d917540ff963775459b6c75ccf2c80
2010-10-01 19:29:18 -07:00
Vincent St-Amour
7876c75cbc
Got rid of a broken subtyping rule.
...
original commit: 5a67535a950ba19846151a6f7a3f7a473affea86
2010-10-01 17:48:47 -04:00
Sam Tobin-Hochstadt
c13d984042
Add additional require for identifiers in the residual program.
...
original commit: c15871a0284fcf2a6a8c78fafde4fdd9a9551bca
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
eba0c35b6c
Fix `require' for contracts.
...
original commit: 867f35927430b61c411ae7c930964b9e70f42cc5
2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
e717d29b74
Lots more laziness, and useless require removal.
...
original commit: b6b840076b275d653843400f18259bf7f67c7a53
2010-09-09 16:08:03 -04:00
Robby Findler
780c2159b8
changed the ->d contracts to ->i contracts
...
original commit: d419e8c12a554d660a65198dd102bc03e01c93a8
2010-09-09 14:21:35 -05:00
Eli Barzilay
48b7074752
More "~n" -> "\n" changes
...
original commit: 8e0f8dd39c3744472b450021f003f9cbe8cbcb62
2010-08-26 12:11:00 -04:00
Sam Tobin-Hochstadt
7efb07a4b0
Add Futureof' type, types for
future' and `touch'
...
original commit: b08de170bc616d2217c6fde3dff8c3f1b042eb3b
2010-08-25 10:27:07 -04:00
Stevie Strickland
21da67fbd9
Fix creation of a reversed List type from ListDots substitution.
...
original commit: a9f6ea69bfbb23d4e6ab1b5ebfcb6bb9e3b3c05a
2010-08-12 17:46:39 -04:00
Vincent St-Amour
f51d1e640d
Imaginaries can't be inexact complexes.
...
original commit: bce003fa1813b309382d6af01090f3cb5b9f84d5
2010-08-03 14:51:24 -04:00
Sam Tobin-Hochstadt
1f05ee70e2
Don't treat Error types as potentially non-regular. (Reported by SK)
...
original commit: 431ff8d794425e12577c662be7827a38531ad39f
2010-08-02 15:41:42 -04:00
Vincent St-Amour
d19a3ff923
Added some reflection functions to Typed Racket.
...
original commit: c4ba6b60388a2d65fcb44a726d12373f9ca17eee
2010-07-29 19:11:20 -04:00
Vincent St-Amour
3aae29501e
Bytes are fixnums.
...
original commit: c4ae44123f74de07933d1c6edfb25be4609af6dd
2010-07-21 21:09:41 -04:00
Vincent St-Amour
40d4840ae1
Fixed unsafe optimization that considered floats as complexes.
...
original commit: 60bfce14bc0166742fed7675b81d8c5c0dcec2d4
2010-07-16 19:08:20 -04:00
Vincent St-Amour
134fb72de1
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.
original commit: 4d5b50dee9e04aee167a7e04fbbe23526131fcad
2010-07-16 19:08:19 -04:00
Stevie Strickland
f3a78d1e10
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.
original commit: 654b7df1decd52763ffedcdc507a4bf367b1cecf
2010-07-16 19:08:19 -04:00
Vincent St-Amour
70cfe1b953
Added dead code elimination.
...
original commit: 1e550139aa67631ffc965027584284b61453b634
2010-07-16 12:22:11 -04:00
Vincent St-Amour
52559ccd98
Better internal error reporting.
...
original commit: 58fe07ad70b74345e65ccf58171dc73e96be6b2b
2010-07-16 12:22:11 -04:00
Vincent St-Amour
fe84eaf722
Added struct optimizations.
...
original commit: a6d11a1df08336183e1af36b787c134e1bf4f469
2010-07-02 20:58:28 -04:00
Sam Tobin-Hochstadt
09d59a56bf
Avoid some quotes while printing types.
...
original commit: 9a1c08e230d2a76cb052dab1ab231974ddc652ad
2010-07-01 17:12:59 -04:00
Vincent St-Amour
6dd9ffd727
Added the Nonnegative-Float type.
...
original commit: 62a15df3eb2fd7dc5a8ef2455c0f20918697a668
2010-06-30 14:53:22 -04:00
Vincent St-Amour
b7d9ed75e2
Added the Inexact-Complex type.
...
original commit: dcfb2d8a94b1359217b9451b7a97d4afa425a6da
2010-06-30 14:53:21 -04:00
Vincent St-Amour
18155bf2c5
Added fixnums to more type signatures.
...
original commit: cee39c4a38bb0ca41f79a4b8e9e159501e5d627d
2010-06-30 14:53:18 -04:00
Sam Tobin-Hochstadt
19bb208f4f
make subst structs transparent
...
original commit: 18078400b77114880e99e1c39913f8df96a0faa2
2010-06-29 17:34:44 -04:00
Sam Tobin-Hochstadt
887f054a55
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.
original commit: c01b2397796cce0ade2ed7515ffe33c9eb338c4f
2010-06-29 17:33:36 -04:00
Sam Tobin-Hochstadt
a7b787db6c
Add Fixnum type.
...
original commit: 4b1c62c9785a6578ba2f894a53a8ee6f1a03152f
2010-06-24 18:05:55 -04:00
Sam Tobin-Hochstadt
c898d882c6
recreate selector table automatically.
...
original commit: a33f460b2547866d492bf01c81ded9b2a669ea26
2010-06-24 16:48:10 -04:00
Sam Tobin-Hochstadt
7f6da53efa
Use the correct field numbers in substructs.
...
Maintain table of struct accessors/mutators.
original commit: 3c8952d63d2cd28a3b5a588c0367b53dc963308b
2010-06-24 14:53:38 -04:00
Sam Tobin-Hochstadt
84247a1882
allow optional specifcation of var pattern
...
original commit: b8777d20b26837d8ecfa78eeeda25fdccdb4a783
2010-06-21 18:30:29 -04:00
Stevie Strickland
e73d9f5ee8
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
original commit: 034b22d01401bba31f700dd5cb38fcf731ed64be
2010-06-21 18:30:29 -04:00
Sam Tobin-Hochstadt
380885f978
Implement substitutions as hash tables from vars to subst-rhs.
...
- add convenience function for generating substitutions
- give trivial substitution for unreferenced index variables
original commit: 339add9f78723fecb3e7332a8a173f615c37bc2c
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
6514ee71e1
Refactor substitution.
...
- new file types/substitute
- use structs for substitutions
original commit: 44d46e4cd7ecc06a264282b31dd7ba47dee421f1
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
d26ad0e213
Change inference to take into account index vs regular vars.
...
original commit: 99e499a503b8b319bc0e512b698e5543634e3654
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
0d7111128c
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
original commit: 662f982b724e7194f5729a9894fc642f06e7910f
2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
1e98e1c1fd
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
original commit: d570006db81dda68e69b7058fd3edfb68cc3d042
2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
92c48f6521
Subtyping between (List T ... a) and (Listof T[Any/a])
...
original commit: fd5a662ccc7aa2fbc3f29974c075dcabf2a870fe
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
2ecc5d35d4
Substitution for (List T ...)
...
original commit: 310bdf352980f9c629ccfa8d2a4365dd8f23cd0c
2010-06-21 18:29:56 -04:00
Stevie Strickland
28ff44d0f2
Add subtyping for dotted lists with the same bound.
...
original commit: 62fb6f93110e9ed23ed0b979af5b3c1608f088e7
2010-06-21 18:29:55 -04:00
Sam Tobin-Hochstadt
54a57ab177
First attempts at adding ListDots (and, incidentally, List*) types.
...
original commit: 40dbb6389cd22c6f6dff42a20bdf23e32b2ba0d2
2010-06-21 18:29:55 -04:00
Vincent St-Amour
9eb47ff1a0
Added mutable lists to Typed Scheme.
...
original commit: a31a7b07187573b9f0d9b8b7b9fcaa21bbb50b8f
2010-06-16 12:49:01 -04:00
Sam Tobin-Hochstadt
eed1167639
set-mc[ad]r!, inference, printing, tests for mpairs
...
original commit: 4cc86cc8c808d375f10c2c1fa2e4b54b126a26da
2010-06-15 16:10:16 -04:00
Vincent St-Amour
0289d63af2
Fixed a bug in the optimizer that made it optimize where it
...
shouldn't have.
original commit: aae1acf035fb548067aef1dc3a9203a19ee76b90
2010-06-11 20:53:10 -04:00
Vincent St-Amour
aa18b9971e
Fixed a bug with eof and procedure types overlapping.
...
original commit: 96c541912ccb6e752d83101c38f57d6da5984a42
2010-06-11 19:48:22 -04:00
Sam Tobin-Hochstadt
aa6d48e80f
Print names using the name, ignoring aliases.
...
original commit: 7c32898cb29bb6baee4591bc05fa96621ff1d6d1
2010-06-11 17:48:37 -04:00
Sam Tobin-Hochstadt
ed35e04293
New interface for unstable/mutated-vars
...
- functional hash tables
- fix clients
original commit: 0379e534e3f0024473d6af9379d0cac0d2bd1a37
2010-06-10 13:28:29 -04:00
Sam Tobin-Hochstadt
9aef73b980
Fix promise printing, add docs. Closes PR 10968.
...
original commit: 0149a05719fdb1fbab56d231905f088bb13b4252
2010-06-09 16:56:31 -04:00
Vincent St-Amour
e34babbff0
Fixed the implementation of Channel types.
...
original commit: 436e001b0e485111da5772f54fcf004eec8a3068
2010-06-09 15:28:10 -04:00
Vincent St-Amour
d5c72476e8
Added the Thread type and related functions.
...
original commit: 15b0c8542d3a54a37539608623754109f96b4d3e
2010-06-09 14:54:36 -04:00
Vincent St-Amour
ce236fdf46
Added Channel types.
...
original commit: ec799fb208197df8b2f4cafc0b0af3aad423871a
2010-06-09 14:54:35 -04:00