Jay McCarthy
f23daa3aea
Rename hash-range and domain to keys and values
2010-08-12 14:10:17 -06:00
Kevin Tew
1ebdb6a90b
Places: remove old code
2010-08-12 13:27:15 -06:00
Matthew Flatt
7a4a287ca6
propagate C flags to make install for "plot" collection setup
2010-08-12 09:07:27 -06:00
Matthew Flatt
ca9f33f035
fix places build to work with embedding like GRacket
...
- but gracket crashes on startup, probably a GC-cooperation issue
2010-08-12 08:49:49 -06:00
Jay McCarthy
e06f0e78b2
Adding hash-set* and hash-set*bang
2010-08-11 17:39:48 -06:00
Jay McCarthy
fadfee7849
Normalizing docs a little
2010-08-11 16:49:04 -06:00
Jay McCarthy
58ad011ce9
Adding hash->list
2010-08-11 16:42:46 -06:00
Jay McCarthy
db87add6b7
Adding hash-domain and hash-range to racket/base
2010-08-11 16:37:46 -06:00
Matthew Flatt
8dc38e9d84
fix boxing of unused but formerly mutated local binding
...
- an old bug exposed by a new optimization
2010-08-11 14:18:43 -06:00
Jay McCarthy
928dfd6fa2
FTP tests without a network connection
2010-08-11 13:49:10 -06:00
Matthew Flatt
e9269f1c4a
optimize (let ([x (let~ ([y M]) N)]) P) to (let~ ([y M]) (let ([x N]) P))
...
which helps expose unboxing opportunities with multiple-value binding
2010-08-11 11:09:04 -06:00
Matthew Flatt
a6ec6a7e30
change bytecode optimizer's representation of `let'
...
- represent RHSes as before allocating stack positions
for bindings, instead of after, which makes certain
transformations simpler; this does not effect the
final bytecode form that's is saved in a ".zo"
2010-08-11 10:29:50 -06:00
Matthew Flatt
2f9431552e
fix typo
2010-08-11 10:29:49 -06:00
Robby Findler
367779fd27
added contract-struct (like define-contract-struct, but with a
...
maker whose name does not begin with 'make-')
2010-08-10 22:20:33 -05:00
Robby Findler
ae1304789d
oops
2010-08-10 19:57:22 -05:00
Robby Findler
1a3f2acf01
fixed preserve-stacktrace-information string constant; fix from Sergey Semerikov
2010-08-10 19:31:11 -05:00
Robby Findler
26187fed8f
fixed a bug in the mzlib contracts test suite
2010-08-10 19:27:17 -05:00
Robby Findler
4341ce3c20
fixed props for syncheck
2010-08-10 16:52:27 -05:00
Robby Findler
58b0d8e93c
added properties so that the check syntax obligation information works with ->i
2010-08-10 16:52:27 -05:00
Robby Findler
5fb1c730ba
improved error message in the case where ->i is used as an identifier
2010-08-10 16:52:26 -05:00
Robby Findler
d15fc5c102
added naming to ->i contracts
2010-08-10 16:52:26 -05:00
Robby Findler
d7503195df
fixed a bug where and/c (when given ho contracts) would check them in the wrong order
2010-08-10 16:52:26 -05:00
Sam Tobin-Hochstadt
02d9418f9a
document match*
2010-08-10 15:56:15 -05:00
Matthew Flatt
6c8a914c80
support for speculatively atomic calls in ffi/unsafe/try-atomic
2010-08-07 20:49:23 -05:00
Matthew Flatt
8df33b629e
fix default #:keep argument of _cprocedure
2010-08-07 20:40:42 -05:00
Matthew Flatt
4d1e97ec8d
change start-atomic and end-atomic to disable breaks
2010-08-07 20:40:32 -05:00
Matthew Flatt
2696f3044c
distinguish reasons to wait on end of atomic mode
2010-08-07 20:40:25 -05:00
Matthew Flatt
01558aec5a
add way to constrain poll/select timeout from low-level evt
2010-08-07 19:30:46 -06:00
Matthew Flatt
f21864ee22
adjust atomic timeout handling to track atomic nesting
2010-08-07 19:30:40 -06:00
Matthew Flatt
804ff115e7
fix `raco setup' reported name for Windows
2010-08-07 19:19:08 -06:00
Robby Findler
561d33fddd
improved the name printing for between contracts
2010-08-07 14:35:08 -05:00
Robby Findler
98fb0e5b3a
moved a bunch of tests into the official test suite.
2010-08-07 14:35:08 -05:00
Robby Findler
9d98533e23
cleaned up a few little things here and there to pass the last of the existing tests
2010-08-07 14:35:08 -05:00
Robby Findler
b5fad95e58
make the optimizer give up more agressively when it starts out with a completely unknown thing
2010-08-07 14:35:08 -05:00
Robby Findler
306ae096eb
Fixed a bug in the eres handing (contracts where the dependent range variables are underscores)
2010-08-07 14:35:07 -05:00
Robby Findler
73177ceddc
moving machines
2010-08-07 14:35:07 -05:00
Robby Findler
2347568a6c
minor bug fixes
2010-08-07 14:35:07 -05:00
Robby Findler
9bc1b63ed4
added support for _ in range contracts
...
fixed a bug in blame assignment
2010-08-07 14:35:07 -05:00
Robby Findler
da9f5bd61a
fixed a few bugs in the ->i implementation and the test suite.
2010-08-07 14:35:07 -05:00
Robby Findler
10b6e58dd0
added support for rest arguments
2010-08-07 14:35:07 -05:00
Robby Findler
c31de06cc0
added result contract checking (after refactoring argument checking to make that more straightforward), prepared for #:post condition checking
2010-08-07 14:35:07 -05:00
Robby Findler
88aafb52eb
clarified the order of evaluation for contract expressions in ->i
2010-08-07 14:35:07 -05:00
Robby Findler
67f2a44fec
changed the parsed structs to better exploit similarity between arguments and results
2010-08-07 14:35:07 -05:00
Robby Findler
6d9066eb22
got #:pre conditions working
2010-08-07 14:35:06 -05:00
Robby Findler
5922ceda74
improved parsing of #:pre and #:post for ->i (fixed bugs and added more checks to the syntax)
2010-08-07 14:35:06 -05:00
Robby Findler
c1b558e1a3
adjusted the syntax of ->i so that #:post and #:pre get a list of variables now
2010-08-07 14:35:06 -05:00
Robby Findler
3b431c6ff2
->i now evaluates the arguments in the proper order
2010-08-07 14:35:06 -05:00
Robby Findler
d2894e7a8e
added in a use of Shu-yu's opt/c to see if it helps (which it does for complex contracts)
2010-08-07 14:35:06 -05:00
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