Stevie Strickland
5ba7ce5c73
Just a small change, nothing big.
...
svn: r13885
original commit: bd4c6f40ba5c854817091bf0ddf9463415987bf1
2009-03-01 01:12:03 +00:00
Stevie Strickland
2a58f8d016
Cleanups.
...
svn: r13884
original commit: 837906b7834c8b42c94db219fd04ebdba188c277
2009-02-28 20:34:06 +00:00
Stevie Strickland
87b0915ce1
We can't actually change how exports are set, we can only change how they're
...
retrieved, so having each export be a cons of an accessor/mutator pair is
misleading. Remove the mutator, just have the unit set-box! the box directly,
and just export the accessor.
svn: r13882
original commit: b58c5881c645ae2cb248252922cb13b3e5c3c7b5
2009-02-28 19:46:47 +00:00
Stevie Strickland
74dad6d8d4
Adding unit/s and define-unit/s, which is the inferred version of
...
unit-new-import-export etc.
svn: r13860
original commit: cf005e3297f845dadedda0c6c55f86d2ec8bb661
2009-02-26 22:52:08 +00:00
Stevie Strickland
dd8e3a30af
More name-setting fun.
...
svn: r13807
original commit: 5a1f31668d00469284ba9712078fdd2e854df53c
2009-02-23 22:22:06 +00:00
Stevie Strickland
5d478c9aa1
Fixing some more inferred-name placements.
...
svn: r13806
original commit: e727f4fd083b3728d9531486f26d2be42e2bd882
2009-02-23 22:05:09 +00:00
Stevie Strickland
5074111cf3
Try to set up the inferred-name property appropriately.
...
svn: r13805
original commit: 78dbc225981e467c8399b5aca535b9e69ccb1a72
2009-02-23 21:46:22 +00:00
Stevie Strickland
98d9dadb04
Rename cstruct to struct/ctc, to avoid confusion with cstruct from the ffi.
...
svn: r13661
original commit: c6b92782e234f99f488e12137b608e2553151dea
2009-02-16 14:50:59 +00:00
Stevie Strickland
cf063bd01f
Adding cstruct, which is like the struct signature form but with contracts.
...
svn: r13647
original commit: 340035bef7544d1bb868c98e5fb28a18a4214222
2009-02-16 02:51:12 +00:00
Sam Tobin-Hochstadt
fa74471fad
sync to trunk
...
svn: r13609
original commit: 738b8311afd40047e22fcf0181e34cef541e7ece
2009-02-15 17:45:53 +00:00
Stevie Strickland
3c797943eb
Fix scoping of name.
...
svn: r13601
original commit: af1e57d33e310e1c70613dc44cb1f40875c2f061
2009-02-15 06:36:00 +00:00
Stevie Strickland
4a5a989efd
Clean up some bindings, moving them from defines to letrec-syntax.
...
svn: r13599
original commit: 62d82ca9be81dbab8ab3472a0222bbe212c3debc
2009-02-15 05:20:30 +00:00
Stevie Strickland
f64f7896e0
There is now a new form, define-unit/contract, that basically mixes
...
define-unit with the application of a unit contract. So you can think
of it as a define/contract for units that keeps the static info needed
for link inference.
svn: r13584
original commit: cbcad0528c45427ebdd45350068a254e000ed159
2009-02-14 21:32:02 +00:00
Stevie Strickland
a434af8f5d
Make a table of the original imports these came from for easy lookup. This
...
way we can actually bind only the identifiers which were in the original
signature over the contract.
svn: r13567
original commit: dba74f8f15c36dbacb0c18ee7a71dcf693d3969c
2009-02-14 02:33:15 +00:00
Stevie Strickland
eb8a57c182
* Fix unit/c so that less unnecessary code is generated.
...
* Fix contracts for signatures and units so that references to
other signature members work appropriately.
* Add text about signature and unit contracts to the Guide.
svn: r13562
original commit: 387c8b210f6d8361238fa9416e96eff225d7d6d3
2009-02-13 22:50:49 +00:00
Stevie Strickland
71aba294df
Fix up the contracts so that they properly refer to locally defined variables.
...
svn: r13527
original commit: 8656e7e918e2f08e4873dbfc48f738cbb234a1d4
2009-02-12 03:51:40 +00:00
Stevie Strickland
0ae02503f4
Adding the initial cut at unit/c.
...
svn: r13524
original commit: fbb5de4fa7007e105addbf421394f28f702f2f79
2009-02-11 22:46:48 +00:00
Stevie Strickland
7a9fd5370c
Abstraction of the boxes used for unit imports/exports to allow for adding
...
contracts in an already created unit.
svn: r13331
original commit: f6493e1c3265627799d62d422a252dd20f14675b
2009-01-31 01:39:23 +00:00
Stevie Strickland
122b049167
Disallow unit/new-import-export if contracts are involved. This is not
...
planned to be permanent, but until I've figured out how to implement the
fix, just say no.
svn: r13311
original commit: 2f323578def1504977a1238d3d5c5fbfece9cd1e
2009-01-29 07:19:23 +00:00
Stevie Strickland
caad0a01f3
Only apply a single contract wrapping to a value contracted through unit
...
exporting/importing. Also add some more unit contract tests.
svn: r13203
original commit: e1d5ced45ea68ee376cd16728fa3a5dfc73eb8c2
2009-01-18 10:38:52 +00:00
Stevie Strickland
98280bd936
Now that we're in with-contract land, use the same syntax parameter for units
...
as well as with-contract and define/contract.
svn: r13181
original commit: 39d9cfbb0aac1f619782a5f1867d3b68c75c18c3
2009-01-16 20:41:51 +00:00
Stevie Strickland
b4bd9f99b3
Missed a case. Oops.
...
svn: r13142
original commit: 9df50b125a7aa278e087c17450794861735429e5
2009-01-15 05:37:23 +00:00
Stevie Strickland
650f7a3219
Okay, let's try using the "internal" names instead of the "external", which
...
might make some errors more obvious.
svn: r13141
original commit: bd802748e03c3434195279056f4223b94ddfc48f
2009-01-15 05:32:46 +00:00
Stevie Strickland
f5961b496a
Actually make this used specifically for blame, not the unit name.
...
We might end up collapsing this and what's introduced in with-contract.
svn: r13140
original commit: 6e86da95e60f9d2aaef92c73226c9f99f374c3ae
2009-01-15 05:17:27 +00:00
Stevie Strickland
855492f109
Add error checking for contracted form, also added documentation in reference
...
svn: r13135
original commit: dbe366c6a0855abc117d7be2f160be058b882ec8
2009-01-15 00:42:49 +00:00
Stevie Strickland
dc8c149c77
Let's just make some differently painted identifiers so that some
...
error messages won't reveal the non-similarly-named ids behind the
curtain.
(I have my hammer, and damn if I won't use it.)
svn: r13107
original commit: 12fc114993b4c5962791984e2ff47340d7a89a88
2009-01-14 03:14:26 +00:00
Stevie Strickland
4a1629bf41
Going to try switching this back, but need to sync from trunk to get Matthew's
...
changes to see if it works.
svn: r13098
original commit: b5efb99548e940818a92f41c174bc713bfa80e6b
2009-01-14 01:12:52 +00:00
Stevie Strickland
6a6a4909d4
Move away from using the error-syntax to grab the unit name wherever we want
...
it -- just use a syntax parameter.
svn: r13096
original commit: 37b2272ecf1a3e6826060560c826483ce4d64ced
2009-01-13 23:08:47 +00:00
Stevie Strickland
4380d8a399
Allow multiple identifier/contract pairs in the same contracted form.
...
svn: r13054
original commit: 0db2eb851a46185f0f09a130f707e1cdd748c50e
2009-01-09 22:22:24 +00:00
Stevie Strickland
4d8f6fdeb0
Tag the contracts so we know what are truly contracts and which are just
...
placeholder #fs.
svn: r13048
original commit: af69c0bbeccf2fab5e11b104cd8bb3a686f343f9
2009-01-09 19:50:28 +00:00
Stevie Strickland
ea41bc867d
Basically write begin-with-definitions here by hand, which _does_ work.
...
So that should pretty much give us unit contracts, modulo whether we can
separate out the projections so that contracts aren't checked twice
inappropriately.
svn: r13047
original commit: bae2c7b5e121448891289fde194ffbaaced33a24
2009-01-09 19:08:03 +00:00
Stevie Strickland
81e4bee047
There's no need for the special-casing define-values with one binding, so
...
simplify this.
svn: r13044
original commit: 8d1b82bcd21e42fcc2df2827291a8264aef189d9
2009-01-09 00:59:04 +00:00
Stevie Strickland
679f32c6dc
Small fixes
...
svn: r13043
original commit: a932bfc84a65d6a6d9a9cf124931ce0ca3b30117
2009-01-09 00:33:43 +00:00
Stevie Strickland
3301fdba75
We do _not_ want (void) last, we want it first here.
...
svn: r13040
original commit: e402d7ea36a8d8b85119c183458a76645776922d
2009-01-08 20:52:18 +00:00
Stevie Strickland
343618feec
Changed to be more like what Sam and I envisioned.
...
svn: r13039
original commit: bf0d872afdcb3b511051da314cfd476c9d6e65ef
2009-01-08 20:50:33 +00:00
Stevie Strickland
dcacda86fa
Remove unused argument
...
svn: r12872
original commit: 821a3ae90057e9e0115df51e27d1572bfa8c50cd
2008-12-16 20:35:19 +00:00
Stevie Strickland
3db841f79a
Handle this similarly to scheme/private/contract.
...
svn: r12869
original commit: f7c37571ce844987fcb1bbfc8c20580b70e25864
2008-12-16 19:42:06 +00:00
Stevie Strickland
b4695eeac4
These lets aren't doing anything, so remove them.
...
svn: r12769
original commit: bc62c06e1cdd0abf4e3068dee7c1a28eb3886674
2008-12-10 19:29:21 +00:00
Stevie Strickland
6eaf47ef9a
Last changes, everything works up to here.
...
svn: r12765
original commit: 8bc883d1cbf2921c4a42b2b19441de0155b742c2
2008-12-10 18:51:40 +00:00
Stevie Strickland
e9627fb9e2
I'd like a better way of handling export contracts (some of the work that
...
should be doable at compile time is being done at run time), but at least
this works for now and gives us a chance to play around with it.
svn: r12763
original commit: 56854a84bd2958f23eae2d04a185ed29eafbc077
2008-12-10 17:19:39 +00:00
Stevie Strickland
bee6f21c4d
Do the let so that (hopefully) the contract errors will get reported on the
...
identifier. With a small change in scheme/contract, it does, but even with
this, it doesn't seem to. How odd.
svn: r12760
original commit: 90ad3f9221a9b5c31a673dcc820304e7b6c86872
2008-12-09 23:16:48 +00:00
Stevie Strickland
d9d718daa8
Add contracts to unit imports and values imported via
...
define-values/invoke-unit. We still need contracts on unit exports,
and we might want to do the stuff here in a cleaner fashion (particularly
for define-values/invoke-unit).
svn: r12759
original commit: a9be78545d95d72e5076d14369afae8b5774dbad
2008-12-09 22:14:11 +00:00
Stevie Strickland
66dad85db5
Adding current unit contract work over here.
...
svn: r12743
original commit: bf5dddbd13fa45fd1950289624bbd05e9ec92135
2008-12-08 17:06:53 +00:00
Matthew Flatt
4e48a33a49
scheme/package (and more int-def repairs)
...
svn: r12589
original commit: ed536c002e3ef5a7f908584f9d50421fcac827b4
2008-11-25 17:58:21 +00:00
Matthew Flatt
bfb0bc4ffd
revised internal-definitions context and a basic 'define-package' form
...
svn: r12579
original commit: a0f91d905e78288ac9ee252f24e8157f5cbea3f9
2008-11-24 19:52:41 +00:00
Matthew Flatt
52dd376826
make-syntax-delta-introducer and adjusted binding in scheme/unit forms
...
svn: r12032
original commit: 8b595ed1200539fa0c22ff0710d9efc5b9d79b52
2008-10-14 13:27:43 +00:00
Matthew Flatt
28ad389ced
fix minor 'unit' phase problems
...
svn: r9964
original commit: 44a8c8b6b136f186b50f674cff1b5cdae20552bf
2008-05-26 19:59:11 +00:00
Matthew Flatt
be4a4a5538
fix some phase issues in 'match' implementation
...
svn: r9963
original commit: d1628d623897acc07bb14d01507f4539849e907a
2008-05-26 19:51:06 +00:00
Eli Barzilay
0cc6039906
use new require specs in many places
...
svn: r8774
original commit: b1a08edd5a8c0db0bae4a9e052d9a93d1faabb4f
2008-02-23 09:42:03 +00:00
Matthew Flatt
5c959ff3e6
v3.99.0.2
...
svn: r7706
original commit: 39cedb62edf9258b051a22a29a90be9c6841956f
2007-11-13 12:40:00 +00:00