Commit Graph

17112 Commits

Author SHA1 Message Date
Robby Findler
40cde743a9 Got to the point where I can run some timings to see how well ->i does.
Here are the results, each contract put on the same function, namely:
(λ (x y) (+ x y))

1: (-> number? (<=/c 0) any)
2: (->i ([x number?] [y (<=/c 0)]) any)
3: (->i ([x number?] [y (x) (<=/c x)]) any)
4: (->d ([x number?] [y (<=/c 0)]) any)
5: (->d ([x number?] [y (<=/c x)]) any)

Taking f1 as the baseline, these are the relative times for calling
that thing over and over in a loop, supplying -1 as both of the
arguments:

f2: 1.01x
f3: 4.15x
f4: 21.1x
f5: 21.5x
2010-08-07 14:35:06 -05:00
Robby Findler
599fe85a16 Got the first example of indy blame working 2010-08-07 14:35:06 -05:00
Robby Findler
9fcc157b0d this checkpoint causes racket to crash, with a segfault. run racket racket/contract/scratch.rkt to
see the error.
2010-08-07 14:35:06 -05:00
Robby Findler
4c240f2307 moving machines 2010-08-07 14:35:06 -05:00
Robby Findler
457248e9cc moving to a different machine (some progress on optional & keyword args) 2010-08-07 14:35:05 -05:00
Robby Findler
d14796c276 got first example working 2010-08-07 14:35:05 -05:00
Robby Findler
5217744740 rename 2010-08-07 14:35:05 -05:00
Robby Findler
efd72af3d6 switching machines 2010-08-07 14:35:05 -05:00
Robby Findler
d75536161c fixed bug in dependency checking for #:rest variables (and removed printfs) 2010-08-07 14:35:05 -05:00
Robby Findler
8f6080733f fixed some bad ->i test cases 2010-08-07 14:35:05 -05:00
Robby Findler
9e92a976a7 added in checking that dependent variables are all sensible 2010-08-07 14:35:05 -05:00
Robby Findler
8b05829717 switching machines 2010-08-07 14:35:05 -05:00
Robby Findler
64a1ddcda9 adjusted the syntax for ->i so that #:rest is not ambiguous anymore (added extra parens, deviating from ->d a little bit) and updated the test suite 2010-08-07 14:35:05 -05:00
Robby Findler
7352d86f1f improved check syntax's jump-to-definition so it scrolls to a more natural place 2010-08-07 14:35:04 -05:00
Robby Findler
79d0c581d4 moving machines 2010-08-07 14:35:04 -05:00
Robby Findler
561ac12a91 got started on the ->i parser 2010-08-07 14:35:04 -05:00
Robby Findler
3c70b9d2ab improved docs for ->i, added docs for the-unsupplied-arg and exported
and added docs for unsupplied-arg?.
2010-08-07 14:35:04 -05:00
Robby Findler
18e9d886e2 added an ->i test suite, based on the ->d one (doesn't test for indy-ness tho) 2010-08-07 14:35:04 -05:00
Robby Findler
a66fd7574d fixed a bug in the annotations for things like listof when they were used in a non-function position 2010-08-07 14:35:04 -05:00
Robby Findler
a524595af2 docs for ->i 2010-08-07 14:35:04 -05:00
Robby Findler
2b2fb3c07e renamed the contract obligation properties and added options to a few more contract combinators 2010-08-07 14:35:04 -05:00
Robby Findler
8e4b169583 check syntax now remembers the mode it was in last time and uses that next time
also, fixed a bug in the way modes were switch around (colors would not
be reset if there was nothing new to color)
2010-08-07 14:35:04 -05:00
Robby Findler
482481fff5 made a bunch of the contract combinators also propogate blame information
for use in check syntax
2010-08-07 14:35:03 -05:00
Robby Findler
18b8cde3e2 adjusted the annotations so that contracts can declare multiple parts
of themselves to be colored and then used that so that the #:pre-cond
and #:post-cond keywords on ->i contracts are colored.
2010-08-07 14:35:03 -05:00
Robby Findler
b664b04999 added property for internal contract dependencies to ->i 2010-08-07 14:35:03 -05:00
Robby Findler
74a0e49a4b Added properties so that the ->i contract now shows its obligation information 2010-08-07 14:35:03 -05:00
Robby Findler
1fd82ee28e adjusted the syntax checking to allow the new syntax of ->i (but still has the old ->d semantics) 2010-08-07 14:35:03 -05:00
Robby Findler
f5a190bf80 made a copy of the ->d contract implementation as a starting point for an implementation of ->i (sometimes, paper deadlines can be a Bad Thing...) 2010-08-07 14:35:03 -05:00
Robby Findler
4eb3df7094 various cleanups, including finishing up the client mode, string constants, and coloring of (known) identifiers 2010-08-07 14:35:03 -05:00
Robby Findler
b9ff546e83 now traverses from the bound occurrences to the binding ones for contract annotations 2010-08-07 14:35:03 -05:00
Robby Findler
e7bd94f2d2 adjusted check syntax to record the right-hand side of binding forms (when they are there) 2010-08-07 14:35:03 -05:00
Robby Findler
5a5da11314 added in unioning and a bit more coloring; checking in to prepare for some changes to the original check syntax (to support contract obligations better) 2010-08-07 14:35:02 -05:00
Robby Findler
b72a59d55c broke things up a little bit more and started in on the new contract traversal 2010-08-07 14:35:02 -05:00
Robby Findler
9b01650e83 broke up check syntax into multiple files 2010-08-07 14:35:02 -05:00
Robby Findler
f1e1887fee started on a better way to do the obligation coloring 2010-08-07 14:35:02 -05:00
Jay McCarthy
8a67fceb4a Added attributes to textarea-input based on patch from Horace Dynamite 2010-08-06 20:08:21 -06:00
John Clements
f86edf3c8e added message about OS behavior on (non-)reload of library 2010-08-06 20:44:14 -04:00
Matthew Flatt
df4da6bbff try again to make gmp _EXTERN_INLINE consistent 2010-08-06 13:34:12 -06:00
Jay McCarthy
7ec4821feb Increasing timeout 2010-08-06 12:41:04 -06:00
Vincent St-Amour
201aaa9090 Documented TR's behavior on literals. 2010-08-06 12:21:50 -04:00
Vincent St-Amour
0a45e0e361 More precise type for expt. 2010-08-06 11:09:04 -04:00
Vincent St-Amour
4d43c21565 Added a test for unboxed nested loops. 2010-08-05 17:21:54 -04:00
Vincent St-Amour
c653a8e655 Changed optimization order for reals in complex operations.
Made generated names more informative and updated tests accordingly.
2010-08-05 16:43:36 -04:00
Robby Findler
d7ff2ed665 two more adjustments (to triangle/sss examples) 2010-08-05 13:43:16 -05:00
Robby Findler
47055673e6 Adjusted the triangle examples to make them fit a little bit better in the documentation 2010-08-05 13:37:18 -05:00
Jens Axel Søgaard
657126c44e Merge remote branch 'origin' 2010-08-05 19:31:06 +02:00
Jens Axel Søgaard
a4a8af1fae Added images. 2010-08-05 19:30:43 +02:00
Jens Axel Søgaard
b83f255f30 new images for docs 2010-08-05 19:16:57 +02:00
Kevin Tew
35a65f90c2 Places: refactor place-channel use 2010-08-05 11:05:54 -06:00
Jens Axel Søgaard
08e8260449 Documentation for triangle/sss and friends 2010-08-05 18:22:21 +02:00