Vincent St-Amour
7e441e8e31
Remove trailing whitespace.
...
original commit: 3b036388d64c33a63bad18e53341b54bac719b1a
2011-05-18 17:09:45 -04:00
Vincent St-Amour
794bfe775b
Give more meaningful names to conditional contract forms.
...
original commit: a1fab6ec06b1b000e0419f617ec974f2827c57e4
2011-05-18 17:09:45 -04:00
Vincent St-Amour
e24955b66a
Add set types to TR.
...
Original patch by Eric Dobson.
original commit: 632e36f751ea454874548cdb62d6cb73694c773d
2011-04-28 18:22:39 -04:00
Eric Dobson
b22c8c9c24
Beginning of ephemeron patch
...
original commit: 80fa8d3c9799ece292b764f69d10377a34d5495d
2011-04-26 15:35:22 -04:00
Sam Tobin-Hochstadt
403354ad49
Remove useless requires.
...
original commit: 51083dbce6bc66305a7d3809097bdaba07c78313
2011-04-20 09:41:42 -04:00
Vincent St-Amour
a8ee106320
Take the meet of constraints earlier in the inference process.
...
This avoids constraint explosions in some cases, notably when working
with polydots and plain variable arity functions at the same time.
However, this also weakens inference a bit (breaks it for
unholy-terror and related tests), but not in a way that affects any
practical use cases that I know of.
original commit: 80a9027f1eee6ea56a29aa73c65675f6cf86cdb2
2011-03-18 10:25:19 -04:00
Vincent St-Amour
4f37500ccb
Move subtype check in inference engine earlier, for performance reasons.
...
original commit: d0bab9953508c8e1ff4bf126d33dd8cf4d16bdd1
2011-03-17 18:43:59 -04:00
Vincent St-Amour
246498613a
Share dotted variables to make inference faster.
...
original commit: e450e2815bea5891d61d641e71eb8873f9e43544
2011-03-17 18:43:58 -04:00
Vincent St-Amour
a006817f5e
Remove duplicate constraints when taking their meet.
...
original commit: bd301912c01c27cd20892c8ddf60b4529dd3def1
2011-03-17 18:43:58 -04:00
Vincent St-Amour
3d6b5893ba
Add a predicate field to base types, which makes checking for
...
subtyping of value types easier.
However, this means that base types can't be marshaled as before,
since these predicates can't be marshaled. Instead, we now marshal
base types as identifiers that refer to their base type object.
original commit: e56663c943fe4ae355b6d626d3c84b6ec8ea7fd1
2011-01-31 16:39:13 -05:00
Sam Tobin-Hochstadt
e717d29b74
Lots more laziness, and useless require removal.
...
original commit: b6b840076b275d653843400f18259bf7f67c7a53
2010-09-09 16:08:03 -04: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
Sam Tobin-Hochstadt
91d6ac64d1
remove debugging printf
...
original commit: e28b60e44fde524c520c62f3fe54b9f6dac04b9d
2010-07-09 14:06:46 -04:00
Sam Tobin-Hochstadt
87bf9dc23d
generalize inferred types for invariant positions
...
original commit: 898c92eb1e6b476a8511d4d4be2e9b962e147d5e
2010-07-09 13:52:39 -04:00
Sam Tobin-Hochstadt
b415e84cd6
Fix inference for heterogenous vectors.
...
original commit: 0e400291e78c46cf1f4ded2c668e2b989814fc5e
2010-07-02 17:25:07 -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
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
Stevie Strickland
a49d4de0ba
Take dcon-dotteds and create an appropriate i-subst/dotted entry.
...
original commit: 9c22701bd3a0178470e736b51c1c6c863ebd08d6
2010-06-21 18:30:29 -04:00
Stevie Strickland
c925e90dc6
Add fixed part to dcon-dotted.
...
original commit: 3f7ca52e370dfa0b81b5c9955c785bd429cda3d8
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
5618abb4f4
provide more information in inference failures
...
original commit: 8990459be69c3e720871bff23827826709990c49
2010-06-21 18:30:27 -04:00
Sam Tobin-Hochstadt
9f8b2e4e2b
fix fail! to use the correct arguments
...
original commit: 692dc025c0db0aa64ee358ae5a36cbd6165455a3
2010-06-21 18:30:27 -04:00
Sam Tobin-Hochstadt
16617152c5
Fix move-to-dmap functions
...
original commit: 9f99c914f3ce2c00119b64caa0be1a286df398c1
2010-06-21 18:30:27 -04:00
Stevie Strickland
f1ef77e550
The initial shot at extending cgen and friends to take both X and Y.
...
This doesn't fully work, in that more test cases are broken. However,
this is mostly due to questionable inference rules in the past, and
so fixing these errors should lead to a more correct inference algorithm.
(i.e. we need to handle things like (List X ... a) (List Y .. b),
where a and b are not the same bound. We'd started this work before,
but never actually gone through with it, since smashing regular and
dotted type variables into the same environment meant some things
magically worked when they possibly shouldn't have.)
original commit: b5d4d54d450b7c2e87ab1d80db66e84cbd1bd2e5
2010-06-21 18:30:26 -04:00
Stevie Strickland
5a4d6ed4a0
Fix up subst-gen to treat vars and idxs separately.
...
original commit: ec09139e0a22007fd3f6bd7ac69336053d65bb48
2010-06-21 18:30:26 -04:00
Sam Tobin-Hochstadt
7e4ee76e4e
Various small assorted fixes.
...
original commit: d886331807f55e5a2a4ebb464b50d50835e20393
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
c10334cfb0
More progress on refactoring infer
...
original commit: 82e7d281cb028e9d2e5c57a9a8c01b4d4e18275a
2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
fdfdd6e3b2
Fix a bunch of uses of `infer' et al.
...
original commit: 18f45c413882b9e145fffa84d41bfb5b378396fc
2010-06-21 18:30:25 -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
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
db8c693481
Inference for passing ListDots as Listof.
...
original commit: a2af89bafd3d79587c87425488833e07465f5fc5
2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
dfe4211df8
Handle simple inference of ListDots.
...
original commit: 71939d282694485805316a02563083a6882a4fa8
2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
021e1146cb
More environment refactoring.
...
- rationalize naming of files
- split files by env constructed
original commit: 50f93b9ed7abeb1d4e687078cb5fef6976d008aa
2010-06-21 18:29:55 -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
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
Carl Eastlund
092d4e3c3d
Replaced unstable/hash with unstable/cce/hash.
...
original commit: 3a525b9a121de971967b59ab3a684b5d104b53ed
2010-06-06 20:30:48 -04:00
Carl Eastlund
544d9dd599
Renamed bindings from unstable/hash and unstable/debug that will clash
...
with subsequent adaptation of (planet cce/scheme) to collects/unstable.
These bindings are temporary, and will be replaced in the adaptation.
original commit: e52fb81aacb27318903a407eb9ca9225557f2093
2010-06-06 19:57:15 -04:00
Sam Tobin-Hochstadt
620fb6182a
debugging
...
original commit: dbe9a0f997461f209c6893479b2fe76f9c0384e0
2010-05-12 17:06:04 -04:00
Sam Tobin-Hochstadt
2addf717a0
rename to rkt
...
original commit: 459a675b90443b59e46bccae476a6f040fa8434d
2010-04-30 09:51:32 -04:00
Matthew Flatt
94184a7671
rename all files .ss -> .rkt
...
original commit: 28b404307793f041bb3363135a2968e283855318
2010-04-27 16:50:15 -06:00
Sam Tobin-Hochstadt
017accf104
Everything now compiles without names
...
original commit: f57ef37a6657ac43848ae09ac20fedbec438db93
2010-04-19 18:42:25 -04:00
Sam Tobin-Hochstadt
b797c59d21
start removing names
...
original commit: df1572231ea34907db23f7c930a19bea7e4e6249
2010-04-19 17:52:10 -04:00
Sam Tobin-Hochstadt
6890aab175
Update structure types to have constructor ids.
...
Use constructor to generate better contracts for poly structs.
original commit: 41e469d7aefd9aab480594caaba62dd7019ec0fd
2010-04-14 15:06:14 -04:00
Sam Tobin-Hochstadt
af7254875a
a new branch of the whole tree
...
svn: r18648
original commit: d4e0c16d55c167dbef9eefac8b4820fbada0f6b1
2010-03-27 14:49:58 +00:00
Sam Tobin-Hochstadt
1e35d3a083
Use `current-contract-region' appropriately.
...
Maintain source locations.
Fix PR 10776.
svn: r18421
original commit: 65b12a2af3a487da88a0d354586e533516273d39
2010-03-01 23:43:15 +00:00
Sam Tobin-Hochstadt
43c22f41e5
fix comment, add test
...
svn: r18307
original commit: 1616e27b4b0a2a8cb1ad419933fdd38894c7a882
2010-02-23 21:36:53 +00:00
Sam Tobin-Hochstadt
349755c446
Fix bad hashtable type inference.
...
svn: r18284
original commit: f2ee3aa7b6a71320d00d75d0b18191dba2e2c23c
2010-02-23 02:05:40 +00:00