Matthew Flatt
c95a398754
move most of the 'scheme' collection to the 'racket' collection
2010-04-20 15:24:48 -06:00
Matthew Flatt
b4aa4d4afb
add define-values-for-export to scheme/unit; sort out different unit-signature 'struct' forms for mzlib vs. scheme vs. racket
...
svn: r18792
2010-04-12 13:54:40 +00:00
Matthew Flatt
65d3d3240b
racket: keep old 'define-struct', include new form as 'struct'
...
svn: r18789
2010-04-11 21:08:37 +00:00
Stevie Strickland
f37f81cdb2
Maintain source locations appropriately.
...
svn: r18422
2010-03-01 23:47:31 +00:00
Carl Eastlund
d00e3432d9
Replaced #%variable-reference with quote-module-path for unit contract blame.
...
svn: r17781
2010-01-23 18:31:10 +00:00
Carl Eastlund
7f58c26709
Replaced uses of quote-srcloc with quote-syntax.
...
svn: r17757
2010-01-19 23:25:07 +00:00
Carl Eastlund
5606c590bd
Updated quote-syntax to quote-srcloc in mzlib unit contracts.
...
svn: r17735
2010-01-19 04:57:33 +00:00
Carl Eastlund
7763a4079a
Ported mzlib units to new contract system.
...
svn: r17718
2010-01-18 18:26:02 +00:00
Stevie Strickland
73d68593af
Moving unit system from mzscheme->scheme/base, reformatting and small changes
...
as necessary. Ran the quiet testsuite, unit tests, and setup-plt, all good.
svn: r17582
2010-01-08 21:44:42 +00:00
Stevie Strickland
c8c66bfe7f
Need to handle what happens when there's no contracts to speak of.
...
svn: r17574
2010-01-08 18:52:57 +00:00
Stevie Strickland
ea20ee160f
Add a dummy lambda expansion to signature compilation to ensure that the
...
expressions only refer to locally-bound names or names that are part of the
signature itself.
svn: r17573
2010-01-08 18:47:51 +00:00
Stevie Strickland
9e0f2a3c5f
Identifiers in signature contracts don't use whatever prefixing or such may be
...
in play in the body of a unit, so we need to rename the "external" version to
the "internal" version. This fixes PR 10246.
svn: r17571
2010-01-08 17:20:19 +00:00
Stevie Strickland
e2f50af66c
If a contracted import doesn't have a pair value (because we haven't run
...
the corresponding unit body yet), then result in a useful error instead of
leaking internal implementation details.
svn: r17541
2010-01-07 19:36:08 +00:00
Stevie Strickland
538cc8862f
Changing from stxclass to syntax/parse.
...
svn: r15979
2009-09-11 19:47:27 +00:00
Stevie Strickland
7d551aa0f2
Small change so that failures due to the implicit compound-unit/infer (like
...
init-depend failures) will show define-values/invoke-unit/infer as the
original source of the problem.
svn: r15780
2009-08-18 23:22:32 +00:00
Stevie Strickland
732e93b9dc
Fix open so that it respects contracts.
...
svn: r14902
2009-05-21 16:36:36 +00:00
Stevie Strickland
99aac7d745
Sam and I did some work to allow automatic inferred linking in
...
(define-values/)invoke-unit/infer.
svn: r14315
2009-03-27 13:47:12 +00:00
Stevie Strickland
bd4c6f40ba
Just a small change, nothing big.
...
svn: r13885
2009-03-01 01:12:03 +00:00
Stevie Strickland
837906b783
Cleanups.
...
svn: r13884
2009-02-28 20:34:06 +00:00
Stevie Strickland
b58c5881c6
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
2009-02-28 19:46:47 +00:00
Stevie Strickland
cf005e3297
Adding unit/s and define-unit/s, which is the inferred version of
...
unit-new-import-export etc.
svn: r13860
2009-02-26 22:52:08 +00:00
Stevie Strickland
5a1f31668d
More name-setting fun.
...
svn: r13807
2009-02-23 22:22:06 +00:00
Stevie Strickland
e727f4fd08
Fixing some more inferred-name placements.
...
svn: r13806
2009-02-23 22:05:09 +00:00
Stevie Strickland
78dbc22598
Try to set up the inferred-name property appropriately.
...
svn: r13805
2009-02-23 21:46:22 +00:00
Stevie Strickland
c6b92782e2
Rename cstruct to struct/ctc, to avoid confusion with cstruct from the ffi.
...
svn: r13661
2009-02-16 14:50:59 +00:00
Stevie Strickland
340035bef7
Adding cstruct, which is like the struct signature form but with contracts.
...
svn: r13647
2009-02-16 02:51:12 +00:00
Stevie Strickland
af1e57d33e
Fix scoping of name.
...
svn: r13601
2009-02-15 06:36:00 +00:00
Stevie Strickland
62d82ca9be
Clean up some bindings, moving them from defines to letrec-syntax.
...
svn: r13599
2009-02-15 05:20:30 +00:00
Stevie Strickland
cbcad0528c
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
2009-02-14 21:32:02 +00:00
Stevie Strickland
dba74f8f15
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
2009-02-14 02:33:15 +00:00
Stevie Strickland
387c8b210f
* 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
2009-02-13 22:50:49 +00:00
Stevie Strickland
8656e7e918
Fix up the contracts so that they properly refer to locally defined variables.
...
svn: r13527
2009-02-12 03:51:40 +00:00
Stevie Strickland
fbb5de4fa7
Adding the initial cut at unit/c.
...
svn: r13524
2009-02-11 22:46:48 +00:00
Stevie Strickland
f6493e1c32
Abstraction of the boxes used for unit imports/exports to allow for adding
...
contracts in an already created unit.
svn: r13331
2009-01-31 01:39:23 +00:00
Stevie Strickland
2f323578de
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
2009-01-29 07:19:23 +00:00
Stevie Strickland
e1d5ced45e
Only apply a single contract wrapping to a value contracted through unit
...
exporting/importing. Also add some more unit contract tests.
svn: r13203
2009-01-18 10:38:52 +00:00
Stevie Strickland
39d9cfbb0a
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
2009-01-16 20:41:51 +00:00
Stevie Strickland
9df50b125a
Missed a case. Oops.
...
svn: r13142
2009-01-15 05:37:23 +00:00
Stevie Strickland
bd802748e0
Okay, let's try using the "internal" names instead of the "external", which
...
might make some errors more obvious.
svn: r13141
2009-01-15 05:32:46 +00:00
Stevie Strickland
6e86da95e6
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
2009-01-15 05:17:27 +00:00
Stevie Strickland
dbe366c6a0
Add error checking for contracted form, also added documentation in reference
...
svn: r13135
2009-01-15 00:42:49 +00:00
Stevie Strickland
12fc114993
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
2009-01-14 03:14:26 +00:00
Stevie Strickland
b5efb99548
Going to try switching this back, but need to sync from trunk to get Matthew's
...
changes to see if it works.
svn: r13098
2009-01-14 01:12:52 +00:00
Stevie Strickland
37b2272ecf
Move away from using the error-syntax to grab the unit name wherever we want
...
it -- just use a syntax parameter.
svn: r13096
2009-01-13 23:08:47 +00:00
Stevie Strickland
0db2eb851a
Allow multiple identifier/contract pairs in the same contracted form.
...
svn: r13054
2009-01-09 22:22:24 +00:00
Stevie Strickland
af69c0bbec
Tag the contracts so we know what are truly contracts and which are just
...
placeholder #fs.
svn: r13048
2009-01-09 19:50:28 +00:00
Stevie Strickland
bae2c7b5e1
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
2009-01-09 19:08:03 +00:00
Stevie Strickland
8d1b82bcd2
There's no need for the special-casing define-values with one binding, so
...
simplify this.
svn: r13044
2009-01-09 00:59:04 +00:00
Stevie Strickland
a932bfc84a
Small fixes
...
svn: r13043
2009-01-09 00:33:43 +00:00
Stevie Strickland
e402d7ea36
We do _not_ want (void) last, we want it first here.
...
svn: r13040
2009-01-08 20:52:18 +00:00