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
Sam Tobin-Hochstadt
e16c33e1a6
Sequenceof type.
...
- inferencing and subtyping relation with vectors, lists, etc
- use in `make-sequence'
- add tests
original commit: 78023d08f99bd423a17e532b6ff9b1ded758b658
2010-06-09 11:03:12 -04:00
Sam Tobin-Hochstadt
fcfd000fcc
Properly handling immutable invariant structs.
...
original commit: 7df8e3279396e7483a5645603726afa5424a071a
2010-06-07 14:03:06 -04:00
Sam Tobin-Hochstadt
8c0e9178ac
Guard type-equal? test.
...
original commit: 8194bcc4d41c79c39cb0a4a13a810f2b6bbc35d3
2010-05-27 12:46:37 -04:00
Sam Tobin-Hochstadt
53c630bc14
Simpler has-name? implementation.
...
original commit: bd0bcda85e0526e22b31a8dd64dbaf083d0d992a
2010-05-27 10:50:15 -04:00
Sam Tobin-Hochstadt
e345eb7448
Print empty filters as -
...
original commit: b21f70408687afa5617230478146ece76d71d53b
2010-05-24 14:04:01 -07:00
Sam Tobin-Hochstadt
1e25674287
Allow recursive types in type annotations for `list'.
...
Closes PR 10562.
Tests for fixed bugs.
original commit: 7e9313bad3c8f8b7d6e0241f6904dce45ac77786
2010-05-19 15:14:18 -05:00
Sam Tobin-Hochstadt
2fdcb1ef9a
mostly done with heterogenous vectors
...
original commit: 2c03f2223b55483bc02d66946097ed17e63529f3
2010-05-14 11:00:22 -04:00
Sam Tobin-Hochstadt
7cff4534ab
Don't generate type filters for mutated variables.
...
original commit: 8d59ee77e4eefca21f2e27140d2b8bcdf691105e
2010-05-13 13:24:41 -04:00
Sam Tobin-Hochstadt
da5bdb841a
switch to typed/
...
original commit: 5a8fac0bdf9f4a93d2407c309c7c7110d5c029b3
2010-05-12 11:52:11 -04:00
Sam Tobin-Hochstadt
ecbd63562b
fix handling when subtype doesn't have rest arg
...
original commit: 2d1625336e2512ba4df3a93fc28682c32be48ceb
2010-05-10 17:53:48 -04:00
Sam Tobin-Hochstadt
cd4744d11b
use aux function to avoid generating useless filters
...
original commit: c031729e4bcd46fab66ed1c3b0aa6578563126ec
2010-05-10 17:03:21 -04:00
Sam Tobin-Hochstadt
5557322514
use racket/base
...
original commit: 1bbb857b18fa2fa6fb3be2387c51367d984a1799
2010-05-10 15:43:03 -04:00
Sam Tobin-Hochstadt
3dfdcf9722
fix `implied-atomic?'
...
original commit: b1a49470eeaae287a8b2754308c476c3257434af
2010-05-10 11:51:18 -04:00
Sam Tobin-Hochstadt
11d39ed32c
don't need d/c/p any more
...
original commit: 96da4276591c93687885780e58a14d06bd21962a
2010-04-30 16:04:22 -04:00
Sam Tobin-Hochstadt
2addf717a0
rename to rkt
...
original commit: 459a675b90443b59e46bccae476a6f040fa8434d
2010-04-30 09:51:32 -04:00
Sam Tobin-Hochstadt
b922e088d6
move d/c/p
...
fix tc-e/t
original commit: b5acbe3168012661272f6ea3866efca693fa6c35
2010-04-27 19:29:10 -04:00
Sam Tobin-Hochstadt
18e9d91e0a
Split filter operations into their own file.
...
Take into account the type of arguments in filter generation.
original commit: 27b0c01cdd4b07201ba95281dae4b24346e9dabd
2010-04-27 19:12:06 -04:00
Matthew Flatt
94184a7671
rename all files .ss -> .rkt
...
original commit: 28b404307793f041bb3363135a2968e283855318
2010-04-27 16:50:15 -06:00