Commit Graph

255 Commits

Author SHA1 Message Date
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
Stevie Strickland
bf60da75e1 Refactor out new has-contract?/value-contract functionality so that it's
the responsibility of the (higher-order) contract to add the contract
(plus possibly more in the future) to the wrapped value.

svn: r18469
2010-03-04 21:10:44 +00:00
Stevie Strickland
3404c0e27a Factor out _all_ the first-order checks into a single procedure, and rework
that procedure so that you feed it #f instead of a (no longer possible) dummy
blame value for the first-order case.

svn: r18452
2010-03-03 20:49:37 +00:00
Stevie Strickland
e54f1c3a5e scheme/contract => scheme/contract/base
svn: r18371
2010-02-27 01:03:55 +00:00
Stevie Strickland
70b5fe6294 Of course, it would help if this was correct.
svn: r18289
2010-02-23 04:18:29 +00:00
Stevie Strickland
e9a6aa31ca Remove a load of crap from mzlib's object-contract that's no longer needed.
svn: r18287
2010-02-23 04:03:39 +00:00
Carl Eastlund
1d6111c532 Renamed simple-contract and simple-flat-contract to make-contract and make-flat-contract.
svn: r18259
2010-02-22 02:51:16 +00:00
Carl Eastlund
fe40d3e888 Merged changes from trunk.
svn: r18007
2010-02-06 19:23:24 +00:00
Eli Barzilay
c88a5a6856 A bunch of additional typos
svn: r17976
2010-02-05 03:21:52 +00:00
Carl Eastlund
1d4cdbeb45 Exports from scheme/contract/private/blame: removed constructor; fixed confusing selector names.
svn: r17909
2010-01-31 03:03:30 +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
934c775c25 Fixed an expected contract message.
svn: r17749
2010-01-19 09:25:02 +00:00
Carl Eastlund
ad9968493e Fixed a missing blame swap.
svn: r17748
2010-01-19 09:24:48 +00:00
Carl Eastlund
2633965c91 Fixed missing keyword to simple-contract.
svn: r17740
2010-01-19 06:29:43 +00:00
Carl Eastlund
722fae41a8 Ported more code to new contract tools.
svn: r17733
2010-01-19 03:42:45 +00:00
Carl Eastlund
2bad47fd0f Ported more code to use new contract bindings.
svn: r17727
2010-01-19 01:01:28 +00:00
Carl Eastlund
7763a4079a Ported mzlib units to new contract system.
svn: r17718
2010-01-18 18:26:02 +00:00
Carl Eastlund
bb7bd9de51 Typos and type errors in new property stuff.
svn: r17700
2010-01-17 07:23:47 +00:00
Carl Eastlund
1f969b8831 Ported a lot of mzlib contracts to new properties.
svn: r17699
2010-01-17 07:07:06 +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
8c01eb975a We don't need the full scheme/contract here.
svn: r16053
2009-09-17 20:59:32 +00:00
Stevie Strickland
636adcc142 Refactoring all the private contract stuff into its own playpen.
svn: r16052
2009-09-17 20:55:37 +00:00
Stevie Strickland
538cc8862f Changing from stxclass to syntax/parse.
svn: r15979
2009-09-11 19:47:27 +00:00
Robby Findler
5c73253e03 changed the low-level api for contracts so the projections accept an extra argument indicating if the contract is being used positively or negatively
svn: r15850
2009-09-01 16:25:08 +00:00
Eli Barzilay
a70bf64fd9 Newlines at EOFs
svn: r15380
2009-07-04 02:28:31 +00:00
Ryan Culpepper
eb349682c3 scheme/signature: fixed to recognize scheme require forms
svn: r14396
2009-04-01 03:14:34 +00:00
Stevie Strickland
44523232e4 While this gets us most of the way there, it doesn't get us all the way,
because signature identifiers are shown as quoted.  I'll think about this
a little longer.

svn: r13904
2009-03-03 02:07:30 +00:00
Stevie Strickland
2f065df887 Instead of just using the quoted versions of the contracts, actually evaluate
them, with signature elements rewritten to quoted versions of the same, so
that we get a better result for the name of the contract used by contract
errors.

svn: r13903
2009-03-03 02:00:31 +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
c221f41695 Fix handling of imports in unit contracts.
svn: r13864
2009-02-27 01:02:27 +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
e453483b09 Okay, after some deep thought, I think I finally have a mental model for
exactly what unit/c is doing here that's appropriate for fixing this
section of code.  ASCII art diagrams for the win!

This also shows how a unit/c contract addition differs from the use
of unit/new-import-export to switch sigs, which means that I'll likely
not be able to unify as much of the guts of the two as I'd like.  Schade.

svn: r13605
2009-02-15 09:59:51 +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
ebe06e9572 Allowing _all_ types of tagged-sig-specs in unit/c, though whether that
makes sense or not, we'll see.  Easy enough to set up, and it also sets
up the plan for a new form I'd like to add, which is why I've factored out
the syntax classes into their own file.

svn: r13570
2009-02-14 07:40:50 +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
fbb5de4fa7 Adding the initial cut at unit/c.
svn: r13524
2009-02-11 22:46:48 +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
0fcf609e2b Syncing again
svn: r13178
2009-01-16 19:11:18 +00:00
Stevie Strickland
cc9925dd6b Add unit contracts from branches/sstrickl/unit-contracts.
svn: r13177
2009-01-16 19:03:11 +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
c7ee5b600c Change this more to how it should be.
svn: r13124
2009-01-14 21:35:07 +00:00
Stevie Strickland
6d966c80af Syncing
svn: r12982
2009-01-03 03:09:06 +00:00
Stevie Strickland
a80ac8d72f Syncing up.
svn: r12981
2009-01-03 02:51:36 +00:00
Matthew Flatt
1c38bd2d3f fix unit signature 'open' by adjusting 'rename', 'only', and 'execpt'
svn: r12964
2009-01-01 21:15:56 +00:00
Stevie Strickland
8bc883d1cb Last changes, everything works up to here.
svn: r12765
2008-12-10 18:51:40 +00:00
Stevie Strickland
56854a84bd 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
2008-12-10 17:19:39 +00:00