Stevie Strickland
eb320ad75d
Revert last change.
...
original commit: ce58c4c6763f6ee31604f38660e3165f29096931
2008-06-20 15:47:22 -04:00
Sam Tobin-Hochstadt
9810d79ec5
Remove no-longer-needed inst.
...
original commit: b2edd9d19754b1297ce02eb04d591ccc7f29e46a
2008-06-20 15:27:59 -04:00
Sam Tobin-Hochstadt
34df17ddb4
Use the X from cgen/list to create the empty cmap.
...
This allows (vector) to have type (Vectorof (U))
original commit: 0366745cbf3e8308b9700305c7e187aa260119ba
2008-06-20 15:27:46 -04:00
Sam Tobin-Hochstadt
b133c45645
Small changes needed after changes to infer.
...
original commit: 89cb3a4b09243dcc3bf292cfd682f226e1f2d326
2008-06-20 14:46:24 -04:00
Sam Tobin-Hochstadt
f2b3eadd88
Correct and incorrect uses of dotted identity
...
original commit: bec9c11fd4d61bceb966b06e5a9517d286af9ca4
2008-06-20 13:07:42 -04:00
Sam Tobin-Hochstadt
53200d23db
* Added code to check that substitution gets rid of all appropriate
...
variables (and fails if not)
* Added weird dotted as subtype of * case (dcon-exact)
original commit: 6296ffbfcf85a624227f11f486fb195954e4479b
2008-06-20 13:07:08 -04:00
Stevie Strickland
ee044ee4c4
* Add the ability to substitute in starred types for dotted when
...
we've inferred it.
* Try and consolidate a lot of the error printing with domain mismatches.
original commit: 654d7e2f4683f65ba7d0a12491d4b3b834bd70f3
2008-06-19 19:14:32 -04:00
Stevie Strickland
8a6adc82da
Another change.
...
original commit: a1f078fb591d87b572864f80b152a9f1e462b10a
2008-06-19 19:12:39 -04:00
Stevie Strickland
20fdbea031
Another example, putting in starred for dots.
...
original commit: af12feb72972ca9f5c0ae71573be43101c93dc76
2008-06-19 19:10:05 -04:00
Sam Tobin-Hochstadt
ffc0331fa7
New test
...
original commit: 2bf691991c2c7316cb2f4b30677a7fd424f7e4dc
2008-06-19 18:04:30 -04:00
Sam Tobin-Hochstadt
6a3dbebd07
Do substitution properly from dmap.
...
original commit: 0f142d97e3d2d995fa18f694e211cbdabf814bbf
2008-06-19 18:04:19 -04:00
Sam Tobin-Hochstadt
2e4d817391
More tests!
...
original commit: e62598ef08326c3a0f20a57c5b8370d0319473a5
2008-06-19 16:55:26 -04:00
Sam Tobin-Hochstadt
8338ee8756
* Add constraints when matching t1...a to t2...b
...
* Do inference when you have (apply f ... xs), f and xs are dotted,
and on different bounds.
* Add fold-right to extra-procs and its type to base-env
original commit: b9e1676a55ab3f8d454a58aa290a0dcb0ecce414
2008-06-19 16:55:06 -04:00
Sam Tobin-Hochstadt
8be54e9a3b
Add unit test for dotted instantiation, and add version of
...
fold-left/fold-right that explicitly instantiates the
recursive call.
original commit: 2a7dbe2a80d34abc5097e144b80bda9965546703
2008-06-19 14:59:19 -04:00
Sam Tobin-Hochstadt
da03725d19
* Split apart identifier typechecking and type instantiation
...
* Add dotted instantiation (replacing bounds with different bounds)
* Fix some macro issues, including syntax locations
* Fix more effect inference
original commit: bb8d8e23d81c7f1324d1bfc8b33882fc71f94503
2008-06-19 14:57:35 -04:00
Sam Tobin-Hochstadt
8e48f42184
Fix test to expecte effects.
...
Remove useless annotation.
original commit: 36408a32d5526038ecda7c8b05ba844868a0ac5e
2008-06-19 13:23:27 -04:00
Sam Tobin-Hochstadt
b3223cab41
Fix tests, add filter tests.
...
original commit: 1af866586ec8e5497e4d4564ac1b129f4c0a02e4
2008-06-19 12:41:06 -04:00
Sam Tobin-Hochstadt
3aeffe3d9f
Fix filter type.
...
svn: r10374
original commit: 1880eb4afbbc5044d9643038cec7338f3051bc24
2008-06-19 16:07:12 +00:00
Sam Tobin-Hochstadt
3ea5cf0e61
Fix type of filter, and inference w/ effects.
...
original commit: 3fd969651fbb7c90983ae76542c80391624e1f39
2008-06-19 11:57:07 -04:00
Sam Tobin-Hochstadt
7f4b1a5cd1
Fix macro impl.
...
original commit: 23aeff8c3bdc57442164d9865411f867917b7448
2008-06-19 11:12:32 -04:00
Stevie Strickland
f939f616f5
Lift out the recursive call, since that'll be shared across all substitutions.
...
original commit: f68efe9e317a53de87a4acb7e15875f4364044b7
2008-06-18 23:48:31 -04:00
Stevie Strickland
156c0d0d38
I'm not sure what to do about this, given the recursive sb call.
...
original commit: 51ec643172e3893701b2a68ca7a5430ddac7ee8c
2008-06-18 18:53:46 -04:00
Stevie Strickland
8cc53d8936
Instantiation... seems to be broken. Adding unit tests to alert us to that
...
fact.
original commit: 8256f922f9c9cd2e24261b4309700c7e896c4454
2008-06-18 18:22:16 -04:00
Stevie Strickland
395e0fc733
Otherwise we don't handle nesting.
...
original commit: 052849c1bbca03cd4aa778665da87f919959c48f
2008-06-18 18:09:50 -04:00
Sam Tobin-Hochstadt
a290297005
Fix identifier issues in fold-left/fold-right.
...
original commit: 8a66c759dc293fb822d89c99b8ec56dd3289c80d
2008-06-18 17:36:12 -04:00
Sam Tobin-Hochstadt
385809eca8
Tests in here that now succeed
...
original commit: b5bfb189610fed971b4a37f5a4191d72dc66548e
2008-06-18 17:22:16 -04:00
Stevie Strickland
5c8a9dfc5d
I don't know why this wasn't caught before, but with recent changes, it's now
...
caught correctly.
original commit: f1211df156a37c709bc6f13077bc0430cd901617
2008-06-18 16:16:11 -04:00
Stevie Strickland
b6fda17f3a
Remove this, as it isn't needed.
...
original commit: 449a784c1da3a658b84cf53b7ebead5909bd4fa0
2008-06-18 16:03:45 -04:00
Stevie Strickland
b59b032342
Split this out into what should succeed and what should fail.
...
original commit: f80711bc9e3eb33aae1b9bb52d7f9033a1d83936
2008-06-18 15:07:00 -04:00
Stevie Strickland
0af62b0c58
Forgot to add stars here.
...
original commit: 0c6ad7f08be86584eea8daab5c96728dbbd7e982
2008-06-18 15:06:48 -04:00
Stevie Strickland
1bbdcf1ccf
New test for lambda formal list mismatches.
...
original commit: 467b138cdacde26bcad3bbb9955fc62cfa9f1536
2008-06-18 15:03:12 -04:00
Stevie Strickland
9544bcbd1f
Add * where appropriate.
...
original commit: 4b3508a89004c5334e856ad0f5b6988881097775
2008-06-18 13:01:43 -04:00
Stevie Strickland
a8a55f440a
* Should have used star (bound in syntax-case), not just * in type-of-formals
...
* I'm pretty sure ann should never get a starred or dotted type, since those
can't appear outside of an arrow context.
original commit: 4010a39c2d177f56c79ca561f02b00bc082d9bdd
2008-06-18 12:57:52 -04:00
Stevie Strickland
978e6acffa
No need for this, it's handled by a case lower down (and correctly, so why
...
force changes in two positions?)
original commit: 6a30c9dec99921e7ffff058bbb130b72a2695f55
2008-06-18 12:45:08 -04:00
Stevie Strickland
9d55a9e592
* Enforce the use of a '*' in list-like rest args.
...
* Abstract out annotation errors so that we can report it in the other case
where it's useful.
original commit: c2a53b316be90d81b1af0afd4acb4f22b5dc57c9
2008-06-18 12:31:08 -04:00
Sam Tobin-Hochstadt
f8ed6299c4
More tests. Not all of them pass yet, but we are hopeful.
...
original commit: 8e498458aa635b201db6c005241d436f644c940d
2008-06-17 18:10:41 -04:00
Sam Tobin-Hochstadt
4271f734a6
Checkpoint.
...
original commit: dfdfae95d7d16ef3fa97503cfa0156101dc275b3
2008-06-17 18:10:17 -04:00
Sam Tobin-Hochstadt
4853428482
Don't produce extra errors for top-level defines.
...
Lots more error message improvements for application.
Work on polydots apply.
Extend environment only in the proper place in plambda.
Don't let a variable unify with a dotted variable.
original commit: c8a2810742514c9f78b006930e6f327794af0228
2008-06-17 16:28:34 -04:00
Sam Tobin-Hochstadt
2a935208e9
New tests
...
original commit: 3f180f88daf777504d1d210cb9115118cab629b8
2008-06-17 16:24:30 -04:00
Sam Tobin-Hochstadt
64c709bbb7
New tests
...
original commit: 59e2dc4dea772cae5af0a2c7b72b1737864afb20
2008-06-17 14:28:41 -04:00
Sam Tobin-Hochstadt
265f9c9009
Adding testcases for dotted function application to rest args via apply.
...
original commit: 93c937f909b431fa64c49515ae66d87f42711e2b
2008-06-17 12:58:15 -04:00
Sam Tobin-Hochstadt
a313b99999
Add handling of dotted functions when not wrapped with a big lambda.
...
original commit: 1bef5f9d0b7af964d904575dc6976d132ba76b5c
2008-06-17 12:57:29 -04:00
Sam Tobin-Hochstadt
ca3e58f3a6
Use map instead of map*
...
original commit: c7733e5e34dfb6f22d7ddb07c5e17192a5679b91
2008-06-17 10:46:39 -04:00
Stevie Strickland
e3734750db
Add examples of each.
...
original commit: bcb205a9303bdda29c94f5239e919ceef90145bb
2008-06-16 19:02:45 -04:00
Sam Tobin-Hochstadt
31f4011387
Definition (but not use) of ... vars
...
original commit: 1b998d7eb8b2f35d5daf0f991bf33fc45bd4e06d
2008-06-16 16:47:08 -04:00
Sam Tobin-Hochstadt
8d9ca01cf5
Source location in synthetic module begin.
...
original commit: 055eb3cd0b2b1f57d79808c40e3dc5566b94d65b
2008-06-16 16:34:09 -04:00
Sam Tobin-Hochstadt
2afa0ac8f1
Change map* to map.
...
original commit: a43b2f5681c576e9b22ff7926ca48ddacfcbcfc2
2008-06-16 13:28:27 -04:00
Sam Tobin-Hochstadt
12aef5cc7e
Remove map*
...
original commit: fdb780fb00cb13fbdd1bd08c544af092f75aeb44
2008-06-16 13:27:59 -04:00
Sam Tobin-Hochstadt
5f244e7f42
Fix for-each type.
...
Improve ... error messages.
original commit: 2ad440310828bc296223e23db3cdee84ad5fce34
2008-06-16 13:26:15 -04:00
Stevie Strickland
b760e45d17
Change over some of the base environment over to dotted types.
...
original commit: c4e253d2d18020b428612227dac6bd789b59d43c
2008-06-16 13:01:16 -04:00