Commit Graph

235 Commits

Author SHA1 Message Date
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
Stevie Strickland
a9be78545d 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
2008-12-09 22:14:11 +00:00
Stevie Strickland
52b76b8dfa Removing the work that's now on unit-contracts.
svn: r12744
2008-12-08 17:09:33 +00:00
Stevie Strickland
bf5dddbd13 Adding current unit contract work over here.
svn: r12743
2008-12-08 17:06:53 +00:00
Stevie Strickland
beb5f19530 Now to move the contract info appropriately into sigs from signatures.
svn: r12712
2008-12-05 17:55:47 +00:00
Stevie Strickland
1b4d2cb7bf Start on adding contracts to units. Here we're just adding contract(ed) forms,
but they're not (yet) used further in.

svn: r12711
2008-12-05 17:47:37 +00:00
Stevie Strickland
6f83ed1a80 Sync that beautiful trunk footage
svn: r12593
2008-11-25 21:18:04 +00:00
Matthew Flatt
a0f91d905e revised internal-definitions context and a basic 'define-package' form
svn: r12579
2008-11-24 19:52:41 +00:00
Stevie Strickland
eca59f6b1d Missed a file.
svn: r12452
2008-11-14 16:49:10 +00:00
Matthew Flatt
209b252f2c fix shared on top-level 'list' binding
svn: r12387
2008-11-11 17:53:12 +00:00
Matthew Flatt
ad75c8aa58 fix problems in lex-rename simplification; other tiny improvements and doc repairs
svn: r12380
2008-11-10 22:50:54 +00:00
Matthew Flatt
95bedb17fb change contracts to reflect context via #%variable-reference instead of syntax objects; add id-less #%variable-reference form; drop link to unneeded CPort objects in delayed thunks; streamline some modules that tend to show up in deep phases
svn: r12231
2008-11-04 14:24:12 +00:00
Matthew Flatt
bb7d3d1a28 fix 'local-expand' checking of stop list to disallow symbols; extend 'continuation-marks' to work on threads; fix HtDP language module-level stop list
svn: r12101
2008-10-23 13:38:03 +00:00
Matthew Flatt
7a55275a26 unit bug fixes related to new scoping of signature elements; change scribble/manual to compute ids typeset as variables at compile time, in preparation for moving from a parameter to syntax bindings; fix docs typos; extend decompiler's support for unmarshaling syntax objects
svn: r12046
2008-10-15 22:23:56 +00:00
Matthew Flatt
8b595ed120 make-syntax-delta-introducer and adjusted binding in scheme/unit forms
svn: r12032
2008-10-14 13:27:43 +00:00
Robby Findler
06a4d0df4a got rid of define-struct/prop since scheme/base has a define-struct that does all that (and more) now
svn: r11727
2008-09-13 16:29:01 +00:00
Danny Yoo
b44494abe5 Disabling debug printf statement.
svn: r11538
2008-09-04 19:35:51 +00:00
Eli Barzilay
a48366ce12 move cm-ctime to compiler/private, move away compiler/cm and compiler/cm-accomplice stubs
svn: r11312
2008-08-19 00:13:43 +00:00
Eli Barzilay
91fb6ffce0 move sandbox-coverage to scheme/private
svn: r10690
2008-07-09 07:20:51 +00:00
Eli Barzilay
7d50e61c7f * Newlines at EOFs
* Another big chunk of v4-require-isms
* Allow `#lang framework/keybinding-lang' for keybinding files
* Move hierlist sources into "mrlib/hierlist", leave stub behind

svn: r10689
2008-07-09 07:18:06 +00:00
Matthew Flatt
44c5a75739 fix some phase problems in program-processing programs
svn: r10503
2008-06-29 15:11:20 +00:00