Commit Graph

263 Commits

Author SHA1 Message Date
Eli Barzilay
ee138cf2cb Some repeated "and and"s and "the the"s, and two more typos.
Closes PR 11229.
2010-09-20 15:38:18 -04:00
Stevie Strickland
05e714881d Convert unconstrained-domain-> to chaperones. 2010-09-17 23:08:05 -04:00
Stevie Strickland
b416b7e5bb Now migrate vector/c and vector-immutable/c.
Also add old-style vector/c to mzlib/contract.
2010-09-16 15:04:41 -04:00
Stevie Strickland
3028f2d142 Convert vectorof/vector-immutableof to the new regime.
Also add old-style vectorof to mzlib/contract.
2010-09-16 15:04:41 -04:00
Stevie Strickland
994ad6d10f Now change box/c to use proxies or chaperones appropriately.
Create a mzlib/contract compatible version of the old box/c and use that
for mzlib/contract.  Change the docs so that the docs for mzlib/contract
contain the right information.

Fix the typed-scheme implementation to only force flat box (or hash)
contracts when it already is required to be flat.  Otherwise, allow
non-flat contracts for the element contract (or domain/range contracts).
2010-09-15 16:57:17 -04:00
Ryan Culpepper
79a06deb79 Added uses of internal-definition-context-apply from unstable/syntax 2010-07-13 12:07:48 -06:00
Eli Barzilay
939af28a4c Some random ".ss" -> ".rkt"s 2010-05-17 05:58:19 -04:00
Matthew Flatt
28b4043077 rename all files .ss -> .rkt 2010-04-27 16:50:15 -06:00
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