Commit Graph

2648 Commits

Author SHA1 Message Date
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
Blake Johnson
407a36c9d2 Changing memory limit 2010-09-10 14:46:04 -06:00
Blake Johnson
e94823b82c Removing pieces of zo-test-worker we dont care about 2010-09-10 14:46:03 -06:00
Blake Johnson
0d136ba4c7 never sharing hashes and trace debugging 2010-09-10 14:46:03 -06:00
Blake Johnson
32a9e60abe traversing inside closures and using a seen set for lists 2010-09-10 14:46:03 -06:00
Blake Johnson
2dfaab00f4 fixing closure problem 2010-09-10 14:46:03 -06:00
Blake Johnson
ecc9ceb842 zo-marshal fixes and switching back to prefabs 2010-09-10 14:46:03 -06:00
Blake Johnson
54f2d34a2e encoding wraps and fixes for zo-marshal sharing 2010-09-10 14:46:02 -06:00
Blake Johnson
9599304ca9 zo-marshal fixes and read.c fix for hash tables in symbol table 2010-09-10 14:46:02 -06:00
Blake Johnson
f27fe3d5c9 zo-parse debugging and read in zo-exs 2010-09-10 14:46:01 -06:00
Matthew Flatt
ff9b535dc6 fix hash proxying in the case that proxied key has no value 2010-09-10 12:46:58 -06:00
Robby Findler
44fe632da5 fixed two bugs in ->i:
- when optional arguments didn't also have rest args,
    it generated the wrong wrapper function
  - the object-contract interaction was broken;
    it was not adding the this argument in
Also removed the hack added earlier this eve.
closes PR 11180
2010-09-09 21:42:41 -05:00