Sam Tobin-Hochstadt
89696cbcd4
Finally found a nasty bug involving variables not appearing in the hash table.
...
original commit: b835002d72e06f13991ea4adbc6d052fa6fe0c0e
2008-07-07 19:21:42 -04:00
Sam Tobin-Hochstadt
ea5d2b8f5f
Add require of scheme/promise for force.
...
Handle call-with-values more appropriately.
original commit: 589ba9d77a6d120f5cf0ebcc926518db69d391bf
2008-07-07 16:43:12 -04:00
Sam Tobin-Hochstadt
13384db457
make-Values now checks its argument for having only 1 element
...
original commit: 2844dec0a109157a05db51e8494d3f317c96c379
2008-07-07 14:58:22 -04:00
Sam Tobin-Hochstadt
e8621eecf0
Fix up singleton values
...
original commit: d0939ffa1e57894a076bfd6326c4d977cfdf3e2e
2008-07-07 14:49:46 -04:00
Sam Tobin-Hochstadt
bbb3e251f8
More info in internal errors.
...
Fix substitution in nested ... case.
original commit: 61cefef89c8120ffc46d9cc9095637d8337c924e
2008-07-07 14:25:15 -04:00
Sam Tobin-Hochstadt
6fac649e7a
remove trace
...
original commit: e06a22c29b3e36cc4f51822b3d4b8ddcff6d682e
2008-07-07 12:27:08 -04:00
Sam Tobin-Hochstadt
70d1b6b497
values with dots
...
original commit: c43c3baa67512954b0f2e477aafde6f8461bd99a
2008-07-07 11:01:42 -04:00
Stevie Strickland
028aeadc4b
Revert last change.
...
original commit: a6ea8d79543ba3db69a859700dde9c78d583dd8b
2008-06-20 15:47:56 -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
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
Sam Tobin-Hochstadt
6a3dbebd07
Do substitution properly from dmap.
...
original commit: 0f142d97e3d2d995fa18f694e211cbdabf814bbf
2008-06-19 18:04:19 -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
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
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
395e0fc733
Otherwise we don't handle nesting.
...
original commit: 052849c1bbca03cd4aa778665da87f919959c48f
2008-06-18 18:09:50 -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
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
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
31f4011387
Definition (but not use) of ... vars
...
original commit: 1b998d7eb8b2f35d5daf0f991bf33fc45bd4e06d
2008-06-16 16:47:08 -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
Stevie Strickland
1f15e35925
I don't see how this isn't a bug.
...
original commit: 14da71b5c240b248d97be77ffd4c220af3ef6146
2008-06-15 15:56:44 -04:00
Sam Tobin-Hochstadt
4ec8076d0d
Fix case-lambda type printing.
...
Begin work on handling case-lambda/varargs in ... inference.
Implement hash-union, and use to fix big bugs.
original commit: 457339d9a8876422153af0731d83bc93fdcc993a
2008-06-11 17:16:40 -04:00
Sam Tobin-Hochstadt
0085310b4f
Use new * syntax in prims.
...
Handle extra tables in infer.
original commit: 975f26b93d9372f46960a42915d06702e9be9b49
2008-06-10 16:38:14 -04:00
Sam Tobin-Hochstadt
ed9af8fdfd
Add syntax for ...
...
original commit: e29d4eb881b92a7f96ae1bbb248e311f7f8f90bc
2008-06-10 15:41:56 -04:00
Sam Tobin-Hochstadt
9e78ce0847
Switch subtype to use infer.ss for unification.
...
original commit: 606ef69d205499ad6071d3a0e1d228938c5299b1
2008-06-10 15:05:13 -04:00
Sam Tobin-Hochstadt
f9708ff850
Remove infer.ss
...
original commit: 6afcb9aa9625376b1d634ed96ab96b8ae48b47f8
2008-06-10 14:27:49 -04:00
Sam Tobin-Hochstadt
d6f8dfc983
Instantiation appears to work.
...
original commit: e912818f866d6bcbeb43e4567ba9d0f1d58d6e3c
2008-06-10 14:10:40 -04:00
Sam Tobin-Hochstadt
d071154438
Instantiate w/ dots
...
original commit: 5c8c2d3d96f02f4f8652b3c8e6fb70803ff85881
2008-06-10 12:29:53 -04:00
Sam Tobin-Hochstadt
a93289aedd
Substituion now works
...
original commit: a7f81d931d9bef247b9215cb1e6fdd3e616dd6a2
2008-06-10 12:21:59 -04:00
Sam Tobin-Hochstadt
583b640833
Fix instantiate and abstract to handle bounds properly.
...
NEW INVARIANT - only use instantiate w/ names
original commit: 017f756c7735a0e6083fa2f52eaafc0f20b11912
2008-06-10 11:29:56 -04:00
Sam Tobin-Hochstadt
69c7303342
Add new datastructures for dots work.
...
original commit: a7c63840e4e2b80dd8007921334f7cbd245fe3de
2008-06-09 17:07:41 -04:00
Sam Tobin-Hochstadt
4a328d1314
Add namespace ops.
...
Check if typecheck returned nothing for top-level form.
Improve error message.
svn: r10160
original commit: 1da9a0c4b84ea15e608a83028c07c75885082b29
2008-06-05 21:36:45 +00:00
Sam Tobin-Hochstadt
c0936b3db6
add expand and expand-once
...
svn: r10133
original commit: 6ec49385a3309e105d7fdf2c4fec61650ac8dc3e
2008-06-04 20:16:51 +00:00
Sam Tobin-Hochstadt
6391dfbda9
Add new syntax for inst and ann, add define-struct:
...
svn: r10131
original commit: 9c4ab9014f3ef36e63d9805ddfbacea48d0f8b32
2008-06-04 20:15:54 +00:00
Sam Tobin-Hochstadt
7a1d6f66dc
Add a cert to go with the struct predicate.
...
svn: r10061
original commit: 1c4fab4bfdb50e515875bf595b3b228e1823b898
2008-05-30 20:03:54 +00:00
Sam Tobin-Hochstadt
d8b8ac1f84
Fix provide w/ structs.
...
svn: r10055
original commit: f783e05cd81c5e143159324d260f5c3014c8177c
2008-05-30 18:56:49 +00:00
Stevie Strickland
620af310fc
Adding foldr.
...
svn: r10048
original commit: f39d4e33ede9b93895b885b19de7f82e6c093eaf
2008-05-30 16:20:33 +00:00
Sam Tobin-Hochstadt
3d2150a697
Fix : for intdef.
...
svn: r10013
original commit: 9777a6d0792c73d01e2b83443ad85ac4cf2eb4b7
2008-05-28 22:39:04 +00:00
Stevie Strickland
9324f5ea90
Add ternary for-each.
...
svn: r10011
original commit: ddf289e1b4762dd405c5350259818afa85f47777
2008-05-28 20:43:01 +00:00
Stevie Strickland
e0fd3985bb
Add assf and findf, and also add foldl at binary functions.
...
svn: r9982
original commit: 1db5280102e17acada2ad3f7d973194e197c621e
2008-05-27 18:33:52 +00:00
Matthew Flatt
5f0913db0d
fix some phase issues in 'match' implementation
...
svn: r9963
original commit: d1628d623897acc07bb14d01507f4539849e907a
2008-05-26 19:51:06 +00:00