Commit Graph

98 Commits

Author SHA1 Message Date
Stevie Strickland
c9a76891bc Starting to expand out the documentation in preparation of merging this
branch back to trunk.

original commit: d6f527a96f05fe949ef032c471e2abca9bc89da9
2008-07-13 16:07:29 -04:00
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
8d9ca01cf5 Source location in synthetic module begin.
original commit: 055eb3cd0b2b1f57d79808c40e3dc5566b94d65b
2008-06-16 16:34:09 -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
459a5f8f8e Implement dmap operations.
Remove lots of unneeded requires.
Add in-list-forever and extend to utils.ss
Add optional variable argument to c-meet.

original commit: e2c0b4e6427ba184e2204f4f7be96f8a09b3430e
2008-06-12 17:10:31 -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
e52e768126 Refer to tech terms correctly.
svn: r10196

original commit: dc47e25c4417f44d6e6721a5e1b9933c62c78fac
2008-06-09 16:08:04 +00: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
f64424185f Improve docs.
svn: r10134

original commit: 67ccf9ddc0c6e9be4203d488c3c70100b011930c
2008-06-04 20:17:02 +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