Commit Graph

2659 Commits

Author SHA1 Message Date
Kevin Tew
faa0c86f50 Places: fix asynchronous receive 2010-09-20 08:42:55 -06:00
Matthew Flatt
fa7dd9b522 rename file to avoid :, which is not allowed under Windows 2010-09-20 03:31:18 -06:00
Stevie Strickland
3325350026 At Robby's request, remove the check for proxy-of?.
Due to the bad interaction between procedure-rename and getting the
contract info from the proxy/chaperone, this will cause a failure in
the contract test cases.  I'm submitting a bug report for that issue.
2010-09-18 13:55:09 -04:00
Matthew Flatt
d92c4e44e2 fix make-reader-graph on proxied vectors 2010-09-17 18:42:29 -06:00
Ryan Culpepper
0d76f8ecbf added data/order, docs
changed splay-tree, skip-list constructors to take orders
2010-09-17 16:54:54 -06:00
Ryan Culpepper
b74f3461e1 added general order functions 2010-09-17 16:54:54 -06:00
Matthew Flatt
f663307252 fix problem with procedure-chaperone, keywords, and proxy properties 2010-09-17 16:29:15 -06:00
Matthew Flatt
3866c3e450 generalize `flvector-copy' to support start and end indices 2010-09-17 13:35:01 -06:00
Will M. Farr
beb2175456 Added flvector-copy (with tests and docs). 2010-09-17 13:35:01 -06:00
Robby Findler
c6fc7137ee Adjusts the contract system so that it preserves the names of functions.
closes PR 11220

Altho, this does not fix the case where a function is being passed thru
another contracted function. Eg, when you give the identity function
this contract: (-> (-> integer? integer?) (-> integer? integer?))
if you pass some function with a name in there, it won't come
back with a name anymore (indeed, it won't even have the name
anymore in the body of the function).

For that, the fix would have to be put into each of the function
contract combinators.
2010-09-17 11:30:04 -05:00
Matthew Flatt
232a580e53 add prop:proxy-of'; Fix chaperone-of' on keyword-accepting procedures 2010-09-17 08:55:46 -06:00
Jay McCarthy
2447d8d07c Adding test case to clarify student's error 2010-09-16 21:00:05 -06:00
Jay McCarthy
01a41a812e Closing pr11216. Adding one armed check-error to teaching languages.
[It will not bother me if we revert this commit. I liked SK's idea and found it easy to implement. I wonder if others will be worried that it is easy to unintentionally leave off the second argument to check-error. I also wonder if it is problematic to add new string constants, like I've done.]

Here is an example:

(check-error (/ 1 0) "/: division by zero")
(check-error (/ 1 0) "divide by zero")
(check-error (/ 1 0))
(check-error 1)

Here is the output:

Ran 4 tests.
2 of the 4 tests failed.

No signature violations.

Check failures:
	check-error encountered the following error instead of the expected divide by zero
   :: /: division by zero
in ex.rkt, line 2, column 0
	check-error expected an error, but instead received the value 1.
in ex.rkt, line 4, column 0
2010-09-16 21:00:05 -06:00
Stevie Strickland
a930719a87 Add the contract information to chaperoned boxes, hashes, and vectors. 2010-09-16 20:49:04 -04:00
Jay McCarthy
afcc7c818d Fixing redirectget test 2010-09-16 13:42:47 -06:00
Ryan Culpepper
1a03a47842 updated splay-tree & skip-list interfaces, docs, tests, performance tests 2010-09-16 13:20:07 -06:00
Ryan Culpepper
19be445d89 contracts for gvector, skip-list
reorganized tests
2010-09-16 13:20:06 -06:00
Stevie Strickland
2677cbf1a4 Cleanups to first-order checking for box/vector/hash contracts.
* We no longer capture a contination when we have blame information.
 * We perform first-order checks more eagerly in the mutable case.
2010-09-16 15:04:41 -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
Blake Johnson
c88eb704c7 removing indirects from zo handling 2010-09-16 12:45:37 -06:00
Jay McCarthy
4f49658835 Fixing problem reported by Robby.
Contracts intefere with safety marks.
2010-09-16 12:45:37 -06:00
Jay McCarthy
ab5a9ff1e8 Removing extra run-tests 2010-09-16 12:45:37 -06:00
Jay McCarthy
1f4c525245 Fixing pr11214 2010-09-16 12:45:37 -06:00
Jay McCarthy
4a89ccea5d Fixing an annoyance with eli-tester when the error string contains ~ 2010-09-16 12:45:36 -06:00
Vincent St-Amour
7e2094f2d7 Added a test for optional let annotations. 2010-09-16 13:24:10 -04:00
Vincent St-Amour
e03e53b1cb Fix some optimizer test logs to reflect racket changes. 2010-09-16 10:48:28 -04:00
Vincent St-Amour
9f87b5a7e6 Made some type annotations optional in the for: macros. 2010-09-15 20:21:51 -04:00
Vincent St-Amour
8b60085a17 Removed useless requires. 2010-09-15 20:21:51 -04:00
Vincent St-Amour
a10d145f25 Added annotated versions of the for macros that generate vectors.
They are purposedly left out of the documentation since the typchecker
can't currently handle their expansion.
2010-09-15 20:21:50 -04:00
Vincent St-Amour
65c502f9d7 Added a test to make sure derived lists accessors don't get optimized then they shouldn't. 2010-09-15 20:21:50 -04:00
Stevie Strickland
e3678a937e Change box-immutable/c to use box/c with #:immutable #t. 2010-09-15 17:05:34 -04:00
Stevie Strickland
99e5d6fd6c Add appropriate syntax properties to uses of box/c. 2010-09-15 16:57:17 -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
Stevie Strickland
4a48da022b Adding syntax properties for contract obligations to uses of hash/c. 2010-09-15 15:01:27 -04:00
Stevie Strickland
56b83e4a96 Add chaperone-based hash/c contracts.
* Domain contracts must be either flat or chaperone contracts.
 * When the domain is a chaperone contract, hash/c must check
   that the hash is equal?-based.
2010-09-15 13:57:50 -04:00
Stevie Strickland
d2b3ee8892 Code and test fixes for new chaperone-based hash/c contracts. 2010-09-15 13:37:37 -04:00
Robby Findler
3121ab0fce I agree with Stevie that 1 is the right answer here. 2010-09-15 08:23:34 -05:00
Stevie Strickland
ec0711bf49 Add chaperone contract-related properties.
* Flat contracts are chaperone contracts, and chaperone contracts
    are (proxy) contracts.
  * Check in chaperone contracts that a chaperone (or chaperone-friendly
    value) is indeed returned.
2010-09-14 18:29:39 -04:00
Stevie Strickland
56a5a2627e Enforce that flat contracts return the original value.
Also fix up tail call contract handling, which was affected by this change.
2010-09-14 18:28:46 -04:00
Ryan Culpepper
ae645a18c1 added dict-*-contract to racket/dict
added experimental ordered-dict generics (not public yet, no docs)
2010-09-14 12:31:26 -06:00
Ryan Culpepper
58aa6873fe added data/heap tests
doc fixes
2010-09-14 12:31:26 -06:00
Matthew Flatt
b601aa1ca3 fix pretty-print graph bug 2010-09-14 08:05:35 -06:00
Ryan Culpepper
999c33827c tests for splay-tree and skip-list 2010-09-13 13:21:04 -06:00
Jay McCarthy
43d527818e Fixing pr11196 and fixing bug in hash-eqv serialization 2010-09-13 10:44:21 -06:00
Robby Findler
1dc555e0af fixes _ in contract-names for ->i
closes PR 11185
2010-09-11 07:48:50 -05:00
Robby Findler
93ecaa0535 fixed object-contract name tests 2010-09-11 07:36:21 -05:00
Robby Findler
d8a495de94 fixed first half of PR 11185 2010-09-11 07:12:17 -05:00
Sam Tobin-Hochstadt
979561354d Fix internal error when single value expected. 2010-09-10 18:29:34 -04:00
Blake Johnson
1cb11ce6cc re-enabling tests 2010-09-10 14:46:04 -06:00