Commit Graph

1666 Commits

Author SHA1 Message Date
Stevie Strickland
e9627fb9e2 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

original commit: 56854a84bd2958f23eae2d04a185ed29eafbc077
2008-12-10 17:19:39 +00:00
Stevie Strickland
bee6f21c4d Do the let so that (hopefully) the contract errors will get reported on the
identifier.  With a small change in scheme/contract, it does, but even with
this, it doesn't seem to.  How odd.

svn: r12760

original commit: 90ad3f9221a9b5c31a673dcc820304e7b6c86872
2008-12-09 23:16:48 +00:00
Stevie Strickland
d9d718daa8 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

original commit: a9be78545d95d72e5076d14369afae8b5774dbad
2008-12-09 22:14:11 +00:00
Eli Barzilay
ac1f721985 if the path is empty, use /
svn: r12750

original commit: 169c69a0bc6d0faff5473b75ff6ee17bef45ae84
2008-12-09 02:39:45 +00:00
Stevie Strickland
2c7fb0cd5f Removing the work that's now on unit-contracts.
svn: r12744

original commit: 52b76b8dfafcb2f284db19fd6d9b3c8da87420ce
2008-12-08 17:09:33 +00:00
Stevie Strickland
66dad85db5 Adding current unit contract work over here.
svn: r12743

original commit: bf5dddbd13fa45fd1950289624bbd05e9ec92135
2008-12-08 17:06:53 +00:00
Stevie Strickland
83ff7d7e62 Now to move the contract info appropriately into sigs from signatures.
svn: r12712

original commit: beb5f195300b0db3dda7c4f8273563ecaeba65f0
2008-12-05 17:55:47 +00:00
Stevie Strickland
5227c36efb Start on adding contracts to units. Here we're just adding contract(ed) forms,
but they're not (yet) used further in.

svn: r12711

original commit: 1b4d2cb7bf4eb7a3340e8a29b370994d9eaf1b35
2008-12-05 17:47:37 +00:00
Eli Barzilay
75308c9158 switch to #lang, reformat
svn: r12655

original commit: 7ea8ab6592e4ea96121d24c3b3fa4ed355e653cd
2008-12-01 03:21:46 +00:00
Matthew Flatt
510305451c remove broken define*-struct
svn: r12590

original commit: 7a66101d308e01124e513ccec5aa1ba6f34fa7dc
2008-11-25 18:14:57 +00:00
Matthew Flatt
4e48a33a49 scheme/package (and more int-def repairs)
svn: r12589

original commit: ed536c002e3ef5a7f908584f9d50421fcac827b4
2008-11-25 17:58:21 +00:00
Matthew Flatt
7134eca95d provide open*-package
svn: r12586

original commit: b7addbab82ad04384f2c381b098857b9e745efc6
2008-11-25 03:13:06 +00:00
Matthew Flatt
985cd6e47d another int-def binding simplification repair
svn: r12585

original commit: 5f3b7e5c6f26298c519be93f6d45fc865d626aaf
2008-11-25 03:08:08 +00:00
Matthew Flatt
bfb0bc4ffd revised internal-definitions context and a basic 'define-package' form
svn: r12579

original commit: a0f91d905e78288ac9ee252f24e8157f5cbea3f9
2008-11-24 19:52:41 +00:00
Stevie Strickland
ba3812ca9c Missed a file.
svn: r12452

original commit: eca59f6b1d98b59301a68c56f902f571340a5a16
2008-11-14 16:49:10 +00:00
Stevie Strickland
7a657d334f Add all changes from branches/with-contract (which this branch will replace
eventually), plus a couple of fixes in contract-test.ss.

svn: r12451

original commit: 3212d1171217a93eb2865a602092d5b5d842ff40
2008-11-14 16:48:17 +00:00
Eli Barzilay
fe2ab39bbd better syntax error message when define-cstruct gets an identifier without a _
svn: r12420

original commit: 987b16447822e647552a8c28f53b870d8638a2c9
2008-11-13 02:18:16 +00:00
Matthew Flatt
5619b780b6 add port->string, file->string, etc.
svn: r12388

original commit: a6d953b6f5943579cb5f95b986647b8ea61c147f
2008-11-11 17:55:14 +00:00
Matthew Flatt
676b78504d fix problems in lex-rename simplification; other tiny improvements and doc repairs
svn: r12380

original commit: ad75c8aa580e4d32a976bd5983ab4f99a48496e5
2008-11-10 22:50:54 +00:00
Matthew Flatt
65af0d3f3b 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

original commit: 95bedb17fbed95c3288ad8befd94c1c7e26c07e2
2008-11-04 14:24:12 +00:00
Matthew Flatt
9c70829089 streamline srfi-4 index-argument check
svn: r12155

original commit: 8b666c17100e95ceef6a81501bcd8afa7bde55a2
2008-10-28 12:12:09 +00:00
Matthew Flatt
f74e80e43a 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

original commit: bb7d3d1a287a7aabdb11edeb16bf215a028ffe31
2008-10-23 13:38:03 +00:00
Matthew Flatt
3f4a4b08a9 finish decompiler on syntax objects
svn: r12077

original commit: e2d4bc0d2bd46db59dbb5cbf0eda94f47c491719
2008-10-21 00:10:47 +00:00
Matthew Flatt
52dd376826 make-syntax-delta-introducer and adjusted binding in scheme/unit forms
svn: r12032

original commit: 8b595ed1200539fa0c22ff0710d9efc5b9d79b52
2008-10-14 13:27:43 +00:00
Matthew Flatt
395eab1669 add eqv hash tables; add hash-update
svn: r12018

original commit: ec68bafa9c7114785dc9e02781eeaa33cfcbec4f
2008-10-13 16:21:18 +00:00
Eli Barzilay
ae40ef8c69 register-finalizer is not unsafe
svn: r11994

original commit: 2bd0019110f83b31d50a075d4bb30e9339299b02
2008-10-12 06:13:46 +00:00
Eli Barzilay
84c6b9a032 rename holder -> keep
svn: r11932

original commit: 8d06e0c707295a6dee60e722dfafe40c4e2d7992
2008-10-04 19:10:38 +00:00
Eli Barzilay
92168b8ed4 * Exported `cvector-ptr'
* Added `#:hold' to `_fun' for callbacks (will be changed to `#:keep'
  soon, but better to have a checkpoint)
* _cprocedure also has a `hold' argument, and is now using keyword
  arguments (it was getting crowded in the optional arguments
  department)
* Documented everything that changed, with a longish descrption for
  options for holding callback values.
* More tests, including tests for callbacks that would crash if the
  callback values are not held.

svn: r11931

original commit: 2886a9531844f75faf563516447524bb893c9796
2008-10-04 19:01:17 +00:00
Eli Barzilay
84f2904bb4 make _cpointer types return the result of the scheme->c function, if any
svn: r11888

original commit: c8be2b6f577700b33d5e5fa8c690c526cdfe022e
2008-09-27 06:35:08 +00:00
Sam Tobin-Hochstadt
616f992c6a Test for print-convert of keyword.
svn: r11870

original commit: 814bfb189edc5dca4aacf268e81b887301039911
2008-09-25 14:53:55 +00:00
Matthew Flatt
9b95e9b2d5 msvs9-friendly patches; preliminary splicing let-syntax library; export and doc GC_resolve and GC_fixup_self
svn: r11758

original commit: 186bf676306ed59f9892d7bf58ab7d833b5c3f29
2008-09-15 19:08:50 +00:00
Robby Findler
a65c83e4eb a bunch more values are now converted into contracts automatically
svn: r11729

original commit: 85e489219c7e596d90f780da119fb8bb16b4cb45
2008-09-13 22:35:09 +00:00
Robby Findler
8678e1cc6e got rid of define-struct/prop since scheme/base has a define-struct that does all that (and more) now
svn: r11727

original commit: 06a4d0df4af94534e6186463a19b5c6982f1c65a
2008-09-13 16:29:01 +00:00
Stevie Strickland
f00388ac41 Actually, move the old-style define/contract to its own file in mzlib,
and change around mzlib/contract.ss appropriately.

svn: r11715

original commit: 0870c7ae1ddd58de472e2990f6b194686e61b083
2008-09-13 02:51:09 +00:00
Stevie Strickland
74026b5e51 Slight change just because we're now printing what kind of thing triggered
the broken contract.

svn: r11714

original commit: 16bce22386654e186f8e806aa5ee289fff380925
2008-09-13 02:11:05 +00:00
Stevie Strickland
4c6ee3623e Revert this all the way back to where it was, I'll fix it up in a sec.
svn: r11713

original commit: 14ef34e8e38e32029783d8207a684859fba7e3c0
2008-09-13 02:03:34 +00:00
Stevie Strickland
44116e67e9 Okay, here's the old stuff put back, will fix up the unit tests when I get
home.

svn: r11709

original commit: c484131597b684e1a17dd8aae520c8a2bd1f93e2
2008-09-12 23:51:51 +00:00
Stevie Strickland
f060e3a47c Couple more tests. Also, change things to mzscheme/mzlib. I really should
go put the old version of define/contract in mzlib/contract.ss, have it
not import with-contract or the new define/contract, and fix the unit tests
appropriately.

svn: r11708

original commit: 32f0b99f12588db11aeca3461f8e68c764884a08
2008-09-12 23:39:19 +00:00
Stevie Strickland
0fc84c6fba Hello, McFly, hello?!
I can't believe there wasn't already a test in there that checked this kind
of thing.  Wait, of course there couldn't have been, because it was specific
to define/contract and with-contract, and _I'm_ writing those tests.  Ah,
well, fixed! :p

svn: r11707

original commit: 41ee6c8ac73f3be893021257b4e057af7c312517
2008-09-12 23:25:58 +00:00
Stevie Strickland
094e5a90ff * Fix converting modules whose source is (list 'quote 'name) to "module 'name"
in contract messages
 * Differentiate between define/contract functions and normal definitions
 * Fix up contract tests

svn: r11700

original commit: e83a72d6ae3b71d97817e6aab5dfd34dfa435a5f
2008-09-12 20:46:41 +00:00
Stevie Strickland
e243118608 Fix numbering, add back a test similar to the infinite loop case that
was here before to illustrate how define/contract now correctly does
not contract internal references.

svn: r11670

original commit: d03ce01a5a9dfb9a736d65865fd04a198785526e
2008-09-12 03:49:20 +00:00
Stevie Strickland
ed9a387674 Accidentally committed this in r11663.
svn: r11669

original commit: 65e13861bb88209e9445d15f6a2fc9b9beab9345
2008-09-12 03:42:36 +00:00
Stevie Strickland
e05c164435 Write some with-contract tests.
svn: r11666

original commit: d9c47de816d3cff6ad3cea0cbeac309506007c70
2008-09-12 00:21:38 +00:00
Stevie Strickland
68c83b2a54 Check nested and non-nested define/contracts and how they interact.
svn: r11665

original commit: 32d4b3463007fbc097b06e79eebc50906c6b3582
2008-09-12 00:02:46 +00:00
Stevie Strickland
4ba02b716c Use the new function syntax for define/contract in a couple of tests.
svn: r11664

original commit: b783ac9b70b80e056bcb0c44120734ae02038f70
2008-09-11 23:53:23 +00:00
Stevie Strickland
f5c23fd041 Fix one test (now the top-level gets the blame appropriately) and remove
a bogus test (since a defined function can call itself all it wants without
the contract being checked, and thus that test is now an infinite loop).

svn: r11663

original commit: d3a5ab555671521a1bf63cdc8036ee1a79d9dfcd
2008-09-11 23:47:29 +00:00
Matthew Flatt
462136e186 fix mistakes in augment corrections; fix runtime-path handling of lib paths
svn: r11577

original commit: 1a8b6cb824f84323179757d0f95d39b9ffe2f7a6
2008-09-08 19:44:32 +00:00
Eli Barzilay
bf474980dc mostly just a re-indentation
svn: r11544

original commit: 7becde46d4868851709c8dd84e375591169e60a6
2008-09-04 22:12:14 +00:00
Eli Barzilay
f67213751b use stdcall for windows kernel functions
svn: r11543

original commit: e5686a5577f39ee641093c792c09ede144a78967
2008-09-04 22:07:23 +00:00
Eli Barzilay
901c60532c added #:abi keyword spec to _fun
svn: r11542

original commit: ade8dfad31e66319cf1409021295ba93720c1057
2008-09-04 22:05:10 +00:00