Commit Graph

20 Commits

Author SHA1 Message Date
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
Eli Barzilay
a70bf64fd9 Newlines at EOFs
svn: r15380
2009-07-04 02:28:31 +00:00
Stevie Strickland
7d22b05e7c Make it so that we do more precise checking on the contract errors, so that
if the blame or objects involved change, we'll get an error instead of having
to manually detect it.

svn: r13886
2009-03-01 01:37:45 +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
534c50d900 Revise that test. The current behavior is correct, if odd.
svn: r13603
2009-02-15 08:40:54 +00:00
Stevie Strickland
b6fdabcd73 Going ahead and adding this test, but need to think about how to attack it.
svn: r13602
2009-02-15 08:31:13 +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
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
12110acfe3 Add test for non-unit check.
svn: r13526
2009-02-12 00:49:56 +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
f6d571db40 Add a test that involves blame on a non-unit entity.
svn: r13182
2009-01-16 20:46:39 +00:00
Stevie Strickland
b29b08dec0 Adding tests, because we should.
svn: r13175
2009-01-16 18:24:59 +00:00
Stevie Strickland
4fd8753c66 Start of a testing framework for unit contracts.
svn: r13173
2009-01-16 17:50:05 +00:00