Commit Graph

3001 Commits

Author SHA1 Message Date
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
Vincent St-Amour
0166ece180 Extended pair optimization to the rest of the standard derived pair accessors. 2010-09-09 18:54:34 -04:00
Vincent St-Amour
7450821068 Refactoring. 2010-09-09 18:54:34 -04:00
Vincent St-Amour
024f873947 Extended pair optimizations to some derived pair accessors. 2010-09-09 18:54:33 -04:00
Vincent St-Amour
7f546434ed Included expected optimization logs in the test files. 2010-09-09 18:54:33 -04:00
Will M. Farr
81b1ed6e8b New updates to for/vector, for*/vector, for/flvector and for*/flvector.
Now use for/fold to thread the index through the iteration form, so
that all variants can take advantage of the optional #:length
argument.  Previously, only the for/vector and for/flvector used the

The behavior when #:length does not match the number of iterations has
changed: iteration stops when either the vector is full, or the
requested number of iterations has been achieved, whichever comes
first.  If #:length is larger than the number of iterations performed,
then the remaining slots in the vector are filled with the default
argument of (make-vector ...), which is currently 0.
2010-09-09 16:23:04 -04:00
Will M. Farr
3d016150a3 Updates to for/vector, for/flvector forms and documentation.
- Now the faster forms take a #:length keyword to designate the length
  of the vector to pre-allocate.

- The for/[fl]vector forms take multiple body expressions and set the
  vector component to the value of the last one.

- When given a #:length argument, the for/vector and for/flvector
  forms check that the iteration is not exceeding the given length,
  raising exn:fail if it does.

- Test cases for the multiple body expressions and the exception for
  excessive iterations have been added.

- Doc modifications to bring the docs in line with the new forms.

- Doc modifications to note that the #:length versions of the form
*may* all the computation to be performed more efficiently, and
stating that it "is an error" if the given length-expr does not
produce a valid length for a vector that matches the number of
iterations for the loop.

- Note that no test is made for a number of loop iterations that is
  smaller than the given vector length.  Also, the for*/[fl]vector
  forms do not optimize when given a #:length argument.  These are
  areas for future improvement.
2010-09-09 16:22:53 -04:00
Sam Tobin-Hochstadt
00a8a85f9d Fix typechecker tests for new environment setup. 2010-09-09 16:08:04 -04:00
Sam Tobin-Hochstadt
b6b840076b Lots more laziness, and useless require removal. 2010-09-09 16:08:03 -04:00
Casey Klein
a773471b7e Strengthens the definition-finder tests 2010-09-09 13:42:15 -05:00
Robby Findler
72afa3d7b3 fixed the teachpack test suite for the new teachpack dialog 2010-09-09 13:17:27 -05:00
Casey Klein
f1be76f2e2 Special-cases DrRacket's definition-finder to find Redex metafunction definitions 2010-09-09 12:07:24 -05:00
Kevin Tew
324a0ce815 Places: check arguments 2010-09-09 10:28:34 -06:00
Kevin Tew
732c62b2a5 Places: benchmarks 2010-09-09 10:28:34 -06:00
Eli Barzilay
ee587ce327 Move the contract stress tests into their proper place. 2010-09-09 12:22:03 -04:00
Robby Findler
ba78b8389b added a test to show a performance problem in the contract library 2010-09-09 09:29:42 -05:00
Mike Sperber
9d35548997 Unbreak `list-of'. 2010-09-09 13:17:22 +02:00
Sam Tobin-Hochstadt
a0e77705e5 Propogate #:mutable for polymorphic structs.
Closes PR 11127
2010-09-08 10:47:51 -04:00
Sam Tobin-Hochstadt
91fefa055e Make syntax of #{} less accepting of errors. 2010-09-08 10:24:58 -04:00
Vincent St-Amour
14097dd90e Fix broken tests that depended on an unsafe optimization. 2010-09-07 20:11:44 -04:00
Stevie Strickland
6d7be2bab3 Fix expected result from contract test that fails due to sorting. 2010-09-07 11:47:14 -04:00
Ryan Culpepper
cf47297a07 gvector tests, fixed bugs, added for/gvector docs 2010-09-06 22:15:29 -06:00
Jay McCarthy
f440332768 Fixing confusing printing from Arjun 2010-09-06 17:03:16 -06:00
Jay McCarthy
f2b5a454bd Fixing problem reported by Nadeem Abdul Hamid 2010-09-06 10:35:03 -06:00
Robby Findler
a2b11a0329 unbroke the test suite ... 2010-09-04 11:18:39 -05:00
Robby Findler
994c28d8b0 started a test suite for the check syntax coloring annotations that the contract system leaves behind 2010-09-04 11:18:38 -05:00
Matthew Flatt
26e0ad955a fix `unsafe-set-box*!' 2010-09-03 15:44:34 -06:00
Robby Findler
ad9548db7d added a README 2010-09-02 15:41:02 -05:00
Robby Findler
a12f47f506 moved the teaching language test suites to their own directory 2010-09-02 15:41:02 -05:00
Jay McCarthy
f272acec5f Correcting bug discovered by Arjun 2010-09-02 07:04:22 -06:00
Matthew Flatt
962ceb6b63 fix interaction between copy prop and once-used binding elimination
in the bytecode compiler, which could cause an expression to be
 duplicated
2010-09-01 15:22:32 -06:00
Matthew Flatt
69658697b1 add proxies and rename chaperone properties to proxy properties
where a proxy is less constrained in its conversions but more
 constrained in where it can be used
2010-08-31 19:15:20 -06:00
Ryan Culpepper
bfb1eed2e9 updated test 2010-08-31 17:15:36 -06:00
Ryan Culpepper
712a8f60e9 updated syntax/parse/exp./splicing, updated honu use
fixed stress.rkt
2010-08-31 16:21:44 -06:00
Ryan Culpepper
d7a87c79e0 Merged changes to syntax/parse
Changed backtracking algorithm, runtime representations
    - syntax classes, ~describe no longer implicitly commit
    - ~describe no longer delimits effect of cut
  Added keyword & optional args for stxclasses
  Added ~do and #:do, ~post, ~commit and #:commit,
    ~delimit-cut and #:no-delimit-cut
  Added syntax/parse/debug, syntax/parse/experimental/*
    - expr/c for contracting macro sub-expressions
      moved from syntax/parse to syntax/parse/experimental/contract
    - syntax class reflection (~reflect, ~splicing-reflect)
    - eh-alternative-sets (~eh-var)
    - provide-syntax-class/contract
      (only for params, not attrs so far)
  Changed ~fail to not include POST progress (#:fail still does)
    old (~fail _) is now (~post (~fail _))
  Made msg argument of ~fail optional
  Removed generic "repetition constraint violated" msg
  Removed atom-in-list stxclass
  Removed unnecessary datum->syntax on cdr of pair pattern
    massive improvements to long-list microbenchmarks
  Optimization: integrable syntax classes (id, expr, keyword)
    need better measurements
  Optimization: ad hoc elimination of head/tail choice point
    for (EH ... . ()) patterns
  Added unstable/wrapc (proc version of expr/c)
2010-08-31 10:55:58 -06:00
Matthew Flatt
76c3c76214 fix yet more ss<->rkt problems that interfered with *SL executables
Closes PR 11106
2010-08-30 14:35:18 -06:00
Kevin Tew
bc5d1c2011 Places: added shared-flvector and shared-byte string 2010-08-30 08:50:07 -06:00
Robby Findler
cfa1c9bf43 fixed a bug in the test suite (so that now the language is only changed when needed) 2010-08-30 09:23:34 -05:00
Robby Findler
35de0b22d0 added a test coverage test suite 2010-08-30 09:23:34 -05:00
Robby Findler
ab839f9efd minor rackety 2010-08-30 09:23:34 -05:00
Robby Findler
eb75edfaa1 renamed drracket test suite 2010-08-30 09:23:33 -05:00
Jay McCarthy
f899e03b59 Moving stress tests 2010-08-30 06:39:12 -06:00
Jay McCarthy
6a43e379e1 Correct test usage of port 2010-08-30 06:39:11 -06:00
John Clements
4d1d1e5b0e removed new stepper test from automatic testing (until fixed). 2010-08-29 10:38:27 -07:00
Vincent St-Amour
e1fd445fa4 Ignored a rounding error between PPC and x86. 2010-08-29 10:17:56 -04:00
Robby Findler
23739a21d8 fixed indentation 2010-08-29 05:17:41 -05:00
Robby Findler
454f8772ab unbroke Eli's change 2010-08-29 05:17:41 -05:00
Jay McCarthy
bc15f398f2 Increasing FTP test stability 2010-08-28 18:52:39 -06:00
Jay McCarthy
c24d6f94e7 Supporting empty programs in datalog languages, fixes pr11140 2010-08-28 15:54:38 -06:00
Robby Findler
36c2eea571 an attempt to be more windows friendly 2010-08-28 14:06:01 -05:00
Jay McCarthy
33d7eb40e3 Fixing pr11136 and adding tests and fixing old tests re extension change 2010-08-28 08:30:14 -06:00
John Clements
3b94602e2e added test case for PR 11120 2010-08-27 16:42:32 -07:00
Vincent St-Amour
b386f01ee4 Improved sandboxing with code from Eli. 2010-08-27 18:18:51 -04:00
Vincent St-Amour
f06c2d4926 Removed obsolete comment. 2010-08-27 18:18:51 -04:00
Vincent St-Amour
9f540bce01 Better way to setup the sandbox input. 2010-08-27 14:43:22 -04:00
Vincent St-Amour
1c9e8e05b0 Cleanup of the test harness. 2010-08-27 13:29:43 -04:00
Vincent St-Amour
7cfba9f02d Renamed tests directory to make more sense with the new structure. 2010-08-27 13:29:43 -04:00
Vincent St-Amour
ca16ac4db5 Improved logging since it's now used for testing. 2010-08-27 13:29:42 -04:00
Vincent St-Amour
18af26ec9b Test expected optimizations by comparing optimizer logs instead of expanded code. 2010-08-27 13:29:42 -04:00
Robby Findler
c8e68e5e31 updated the docs to reflect that the various checks return void. Also added in some tests to that effect. 2010-08-27 11:27:29 -05:00
Jay McCarthy
7190d423f7 Fixing pr11125 2010-08-26 17:14:09 -06:00
Jay McCarthy
d4e3946ba2 Adding apply stress test from Will M. Farr 2010-08-26 17:14:09 -06:00
Sam Tobin-Hochstadt
0635fc6d75 Create data/ collection.
- Initially populated with queues, skip-lists, and interval-maps from unstable/
 - Tests in tests/data, docs in data/scribblings
2010-08-26 18:22:28 -04:00
Vincent St-Amour
46b2a2113a Use sandboxes instead of duplicate files to test results when optimizing. 2010-08-26 18:08:41 -04:00
Vincent St-Amour
eadc2a7e4c Exclude directories when testing TR's optimizer. 2010-08-26 17:46:59 -04:00
Vincent St-Amour
ea472a9d57 Added with-asserts, from code from Neil Toronto. 2010-08-26 17:46:58 -04:00
Sam Tobin-Hochstadt
7fc38693ec Fix tests for new output. 2010-08-26 16:59:12 -04:00
Sam Tobin-Hochstadt
3e4ddde808 Tests for new optimizer additions. 2010-08-26 16:59:12 -04:00
Sam Tobin-Hochstadt
fd2d37a710 Add optimization for `magnitude', fix handling of functions that return floats, not complexes. 2010-08-26 16:59:12 -04:00
Eli Barzilay
8e0f8dd39c More "~n" -> "\n" changes 2010-08-26 12:11:00 -04:00
Eli Barzilay
7dc4d2e5a6 Change a bunch of "~%" and "~n" in format strings to "\n". 2010-08-25 17:17:01 -04:00
Eli Barzilay
606b7f60dc Lots of "~e" to "~.s" changes. 2010-08-25 17:17:01 -04:00
Eli Barzilay
e179449d0e Switch to `racket/base', change some "~e"s to "~.s"s, also reformat and
a few minor improvements.
2010-08-25 17:17:01 -04:00
Eli Barzilay
da083f05e8 avoid relying on bash 2010-08-25 17:17:01 -04:00
Kevin Tew
19a00d887e Places: allow channels in compound data communications 2010-08-25 15:10:15 -06:00
Jay McCarthy
45a8854398 Adding immutable hash operations to ASL 2010-08-25 10:36:36 -06:00
Jay McCarthy
368d711ae2 Optional arguments to hash table constructors in ASL 2010-08-25 10:36:34 -06:00
Sam Tobin-Hochstadt
b08de170bc Add Futureof' type, types for future' and `touch' 2010-08-25 10:27:07 -04:00
Matthew Flatt
cf300b91b9 JIT-inline even?' and odd?' on fixnums 2010-08-24 19:29:20 -06:00
Robby Findler
5de6ff2ada Adjusts the prompt handling so that it submits expressions that signal
arbitrary read errors, but does not submit those that raise eof errors.
closes PR 11126
2010-08-24 20:06:45 -05:00
Kevin Tew
b86e48a567 Places: benchmark tests 2010-08-24 10:39:07 -06:00
Jon Rafkind
e077b87d50 fix PR 11123: 0-ary generator yield 2010-08-24 00:11:22 -06:00
Jon Rafkind
4bca9842f5 Make in-generator work when yield returns multiple values 2010-08-23 12:50:08 -06:00
Mike Sperber
a4e7ef3594 Push mixed' contracts down into lazy struct' contracts. 2010-08-23 14:40:21 +02:00
Sam Tobin-Hochstadt
72f31ffec0 Use current-readtable as the base for the TR readtable.
Closes PR 1115.
2010-08-21 14:05:46 -04:00
Robby Findler
32f1f1d8f1 the error window for check syntax now goes away when you Run or edit the definitions window
closes PR 11101
2010-08-20 17:39:45 -05:00
Robby Findler
d93fc805f3 maybe this will help with some of the race conditions showing up in drdr 2010-08-20 17:39:45 -05:00
Jay McCarthy
54e16b18ff Fixing error message on different root installations 2010-08-20 10:35:36 -06:00
Jay McCarthy
9e2ee8ecc6 Fixing another print related test 2010-08-20 10:35:36 -06:00
Jay McCarthy
a8b0a7dce6 Adding zo size reporter test 2010-08-20 10:35:36 -06:00
Robby Findler
22f2e18a99 Fixed a bug in provide/contract that caused it to lose the source location of the original contract, when .zo files were compiled 2010-08-19 23:12:33 -05:00
Will M. Farr
82096abb1b Added interation forms for/vector, for*/vector, for/flvector, and for*/flvector and for-clause in-flvector. 2010-08-19 18:45:13 -04:00
Jay McCarthy
44b34c37a8 Small adjustment to Matthews change 2010-08-19 16:39:54 -06:00
Jay McCarthy
5eb8f181f6 Adding WebSocket stress test and improving fit output 2010-08-19 16:34:16 -06:00
Jay McCarthy
1f61e7eb7f Adding WebSocket example 2010-08-19 16:34:15 -06:00
Jay McCarthy
347e946548 Adding WebSocket support 2010-08-19 16:34:15 -06:00
Jay McCarthy
6f272d2e6a Improving PLAI testing 2010-08-19 10:00:36 -06:00
James Swaine
1a2c0546a6 current-future now returns #f if not inside a future, instead of null. Added documentation for current-future. 2010-08-19 09:36:25 -05:00
Matthew Flatt
50d5dc352e add missing test for *SL define-struct 2010-08-19 07:58:43 -06:00
James Swaine
a41c9b882a Added (current-future) to the futures module (as an inlined, nonblocking primitive). 2010-08-18 23:33:22 -05:00
Robby Findler
3885223cee fixed an ->i bug 2010-08-18 19:30:36 -05:00
Matthew Flatt
e99c53eee8 change `define-type' to use #:reflection-name instead of prop:custom-write 2010-08-18 16:13:58 -06:00
Matthew Flatt
4299b12d5b fix pretty-print problems, especially related to the custom-write property 2010-08-18 16:13:57 -06:00
Sam Tobin-Hochstadt
90eeef60d7 Provide -> in typed-scheme/no-check.
- Closes PR 10882
2010-08-18 16:37:32 -04:00
Kevin Tew
57bda136ea Places: prevent mastergc gen0.big_pages from leaking onto a places gen0.big_pages list 2010-08-18 13:53:08 -06:00
Jay McCarthy
9a31ac5363 Fixing formlet additions 2010-08-18 13:17:11 -06:00
Jay McCarthy
e6219740b8 Correcting problems in Horace's path 2010-08-18 13:17:11 -06:00
Jay McCarthy
3d43c7e7ac Initial versions from Horace Dynamite 2010-08-18 13:17:11 -06:00
Jay McCarthy
04d3a23e1c Removing unnecessary newlines and making tests newline accurate 2010-08-18 13:17:11 -06:00
Jay McCarthy
3be8e3ba86 A little documentation 2010-08-18 13:17:10 -06:00
Jay McCarthy
1aac3c8e53 Expanding stress library 2010-08-18 13:17:10 -06:00
Matthew Flatt
0d9f5016ba fix bytecode-writing inconsistencies related to syntax objects and paths
and improve organization of the docs
2010-08-17 17:18:24 -06:00
Jay McCarthy
fe91e997ee Adding stress testing library 2010-08-13 15:06:14 -06:00
Jay McCarthy
58b9c7a6e4 Fixing seqn-count 2010-08-13 15:06:14 -06:00
Jay McCarthy
339681018a Fixing pr11100 2010-08-13 15:06:13 -06:00
Noel Welsh
5a71a20af9 Merge branch 'master' of pltgit:plt 2010-08-13 17:54:20 +01:00
Sam Tobin-Hochstadt
3359032ad5 Handle structs with special constructors and mutability.
Closes PR 11089.
2010-08-13 11:06:56 -04:00
Sam Tobin-Hochstadt
0c1dfd3c5e Require flat contracts in box/c, hash/c, and vector/c.
Closes PR 11085.
2010-08-13 11:06:56 -04:00
John Clements
215c8dc960 best guess on what keystrokes will trigger insert-()-pair under windows & unix. 2010-08-13 11:01:05 -04:00
John Clements
cfe503f1ce updated framework test framework:
- can now test multi-key sequences

- can now use tests with 'escape

- README changed .ss to .rkt

- added test cases for c:c;c:[
2010-08-13 11:01:04 -04:00
Robby Findler
bdd37c58f0 made the optional arguments clause itself optional for ->* 2010-08-13 08:14:13 -05:00
Robby Findler
120e6a25ee added #:pre and #:post to ->* 2010-08-13 07:05:27 -05:00
Stevie Strickland
a9f6ea69bf Fix creation of a reversed List type from ListDots substitution. 2010-08-12 17:46:39 -04:00
Jay McCarthy
8c32de33c6 Adding sequence support for mlists and more sequence xrefs 2010-08-12 14:10:20 -06:00
Jay McCarthy
2751ace762 Adding more sequence operators 2010-08-12 14:10:19 -06:00
Jay McCarthy
3fe91f0fdd Adding vector-set* and dict-set* exn tests 2010-08-12 14:10:19 -06:00
Jay McCarthy
d047557dc6 Adding dict-has-key? and updating unstable 2010-08-12 14:10:18 -06:00
Jay McCarthy
958c771ec8 Removing dict functions from unstable 2010-08-12 14:10:18 -06:00
Jay McCarthy
bdc26b53bb Adding dict-ref bang 2010-08-12 14:10:18 -06:00
Jay McCarthy
2d1787a309 Add dict-set* 2010-08-12 14:10:18 -06:00
Jay McCarthy
a8fc09b49a Adding dict-keys,values,->list 2010-08-12 14:10:18 -06:00
Jay McCarthy
f23daa3aea Rename hash-range and domain to keys and values 2010-08-12 14:10:17 -06:00
Jay McCarthy
e06f0e78b2 Adding hash-set* and hash-set*bang 2010-08-11 17:39:48 -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
Jay McCarthy
928dfd6fa2 FTP tests without a network connection 2010-08-11 13:49:10 -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
26187fed8f fixed a bug in the mzlib contracts test suite 2010-08-10 19:27:17 -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
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
da9f5bd61a fixed a few bugs in the ->i implementation and the test suite. 2010-08-07 14:35:07 -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
8f6080733f fixed some bad ->i test cases 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
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
Jay McCarthy
8a67fceb4a Added attributes to textarea-input based on patch from Horace Dynamite 2010-08-06 20:08:21 -06: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
Kevin Tew
35a65f90c2 Places: refactor place-channel use 2010-08-05 11:05:54 -06:00
Vincent St-Amour
b18f2353ca Generalize naturals to integers to minimize annotations on mutated variables. 2010-08-05 09:04:25 -04:00
Vincent St-Amour
b1e744b1e1 Fixed tests that used complex literals. 2010-08-05 09:04:24 -04:00
Vincent St-Amour
bdf84f371d Optimize coercion of integer literals. 2010-08-05 09:04:23 -04:00
Vincent St-Amour
1fb68707fc Fixed a test. 2010-08-05 09:04:23 -04:00
Vincent St-Amour
fb31a6556e Added optimization for make-polar 2010-08-05 09:04:22 -04:00
Kevin Tew
3744e224b7 Places: fix sending place channels over place channels 2010-08-04 13:23:00 -06:00
Vincent St-Amour
b47a77dd57 Eliminate user-introduced boxing. 2010-08-02 21:33:30 -04:00
Sam Tobin-Hochstadt
431ff8d794 Don't treat Error types as potentially non-regular. (Reported by SK) 2010-08-02 15:41:42 -04:00
Robby Findler
5e8e4c6ffc a change to hopefully improve the error message this file (sometimes) get in drdr 2010-07-31 10:29:07 -05:00
Matthew Flatt
0e8af6bc5d fix acc/mut error msgs from `define-struct' in teaching languages
Merge to 5.0.1
 Closes PR 11062
2010-07-30 11:16:32 -06:00
Vincent St-Amour
27f8279711 Extended use-site analysis to look through trivial rebindings, to support for loops. 2010-07-29 18:29:59 -04:00
Vincent St-Amour
260de85a6e Make sure that let-bound functions don't escape through a rhs before we change their interface. 2010-07-29 18:29:58 -04:00
Vincent St-Amour
f08456cf07 Extended unboxing of let-bound functions to support let loops. 2010-07-29 18:29:57 -04:00
Vincent St-Amour
3e9e5560bf Be more aggressive when unboxing let bindings. 2010-07-29 18:29:54 -04:00
Vincent St-Amour
bb14424918 More tests for unboxed args of let-bound functions. 2010-07-29 18:29:54 -04:00
Vincent St-Amour
9d471df8b9 Added unboxed arguments to let-bound functions. 2010-07-29 18:29:53 -04:00
Vincent St-Amour
b0d299d1b8 Added unboxed letrec-syntaxes+values bindings. 2010-07-29 18:29:52 -04:00
Vincent St-Amour
8dc23d43eb Added unboxed letrec bindings. 2010-07-29 18:29:52 -04:00
Blake Johnson
8b195d1c3c closing stderr in zo-test 2010-07-28 14:42:48 -06:00
Jay McCarthy
8d36dfad81 Fixing parts of zo-marshal re protect-quote; parallelizing zo-test; there is no the path error again in zo-marshal though 2010-07-27 11:10:54 -06:00
Jay McCarthy
28432037af Fixing up a few things in zo-parse/etc 2010-07-26 12:18:01 -06:00
Blake Johnson
8eeed89982 zo-marshal wrap fixes, optional port for zo-parse 2010-07-26 12:06:02 -06:00
Vincent St-Amour
4803eafa67 Fixed a bug with exact complexes. 2010-07-25 22:15:18 -04:00
Vincent St-Amour
ec39ea5f33 Added one more test for unboxed let bindings. 2010-07-24 17:01:23 -04:00
Vincent St-Amour
5d86813267 Fixed a test that could not work because of shadowing in hand-optimized code. 2010-07-23 18:52:46 -04:00
Vincent St-Amour
ea580e6ff8 Added a test to the optimizer. 2010-07-23 18:52:43 -04:00
Vincent St-Amour
83987fffac let bindings of inexact-complex numbers can be replaced by bindings
for each of their components.

This allows unboxing of intermediate results that are bound and only
ever used in positions where they would be unboxed.
2010-07-23 18:52:42 -04:00
Vincent St-Amour
063b87697a Optimized extracting parts of inexact complexes. 2010-07-23 18:52:42 -04:00
Vincent St-Amour
0493e6f762 Refactoring of the optimizer. 2010-07-23 18:52:41 -04:00
Sam Tobin-Hochstadt
5bb730f72c Optimize (apply + (map f l)) to avoid the intermediate list. 2010-07-23 14:11:40 -04:00
Jay McCarthy
407dcee206 Adding match to ASL 2010-07-22 15:39:53 -06:00
Jay McCarthy
9eb053d4db Adding define-datatype to ASL 2010-07-22 11:36:04 -06:00
Noel Welsh
74dd59e963 Add missing SRFI-41 and SRFI-98 to tests 2010-07-22 04:45:49 +01:00
Vincent St-Amour
ca106a4134 Replaced the safe specialized nbody benchmark by the unsafe version. 2010-07-21 21:09:43 -04:00
Vincent St-Amour
0ee0886cab Optimizations on one-argument cases of arithmetic operations. 2010-07-21 21:09:43 -04:00
Vincent St-Amour
4e944f73ab Added optimization for string-length and bytes-length. 2010-07-21 21:09:42 -04:00
Vincent St-Amour
d6ce6e664f Added box optimizations. 2010-07-21 21:09:42 -04:00
Vincent St-Amour
b13075a1c0 Changed the interface to typed racket's test harness. 2010-07-21 21:09:40 -04:00
Vincent St-Amour
47195410cb Added optimization for zero?. 2010-07-21 21:09:40 -04:00
Matthew Flatt
ce03a34318 another ss->rkt repair to exe creator
Merge to 5.0.1
2010-07-20 06:37:02 -06:00
Matthew Flatt
f602d11a7f raco exe: fix missing ss->rkt conversion and remove debugging printf
Merge to 5.0.1
2010-07-19 14:00:23 -06:00
Jay McCarthy
5417d7a5b7 Fixing path-only documentation and adding new test case 2010-07-19 13:56:01 -06:00
Matthew Flatt
1ea0880f65 add missing test for continuation change 2010-07-16 20:55:07 -06:00
Vincent St-Amour
8aa4fae613 Added whitespace to the typed racket test harness. 2010-07-16 19:08:21 -04:00
Vincent St-Amour
8563f02ba8 Don't abort typed racket's tests if the main tests fail. 2010-07-16 19:08:21 -04:00
Vincent St-Amour
60bfce14bc Fixed unsafe optimization that considered floats as complexes. 2010-07-16 19:08:20 -04:00
Vincent St-Amour
01c170c52f Fixed a segfault in the nbody benchmark. 2010-07-16 19:08:20 -04:00
Vincent St-Amour
b8b852dbc1 Added a test for inexact imaginaries. 2010-07-16 19:08:20 -04:00
Vincent St-Amour
3dab2fbbfc Fixed benchmarks to typecheck even when not-really-dead code is typechecked. 2010-07-16 19:08:19 -04:00
Vincent St-Amour
4d5b50dee9 Further fixes in overlap checking.
Rhss of code dispatching on overlapping structs are no longer
considered dead, and as such, are now typechecked.

Had to fix a test that passed only because some not-really-dead code
was not being typechecked.
2010-07-16 19:08:19 -04:00
Vincent St-Amour
fc29e7e856 Added mutable pair optimizations. 2010-07-16 12:22:16 -04:00
Vincent St-Amour
f21454e711 Fixed an infinite loop. 2010-07-16 12:22:16 -04:00
Vincent St-Amour
c587038b33 The imaginary parts of reals are ignored when doing complex division. 2010-07-16 12:22:15 -04:00
Vincent St-Amour
443d8b9f91 Fixnums and integers can now be coerced for complex operations. 2010-07-16 12:22:15 -04:00
Vincent St-Amour
c645aa7ebc The imaginary parts of inexact reals are ignored when doing complex multiplication. 2010-07-16 12:22:15 -04:00
Vincent St-Amour
b0788372ea Fixed bugs in the tests. 2010-07-16 12:22:14 -04:00
Vincent St-Amour
566aeedb59 Better error reporting by the optimizer's test harness. 2010-07-16 12:22:14 -04:00
Vincent St-Amour
7fb1b41a28 The optimizer's test harness now makes sure that optimized and
non-optimized versions of the same code evaluate to the same thing.

Unfortunately, this leads to a lot of code duplication. We can't
abstract over optimization like we do for the benchmarks since the
wrapper module would interfere with testing expanded code for
equality.
2010-07-16 12:22:14 -04:00
Vincent St-Amour
748e9e47ad The imaginary parts of inexact reals are ignored when doing complex
addition or subtraction.
2010-07-16 12:22:13 -04:00
Vincent St-Amour
025af5b815 Added coercions for floats with unboxed complex operations.
However, this generates superfluous operations involving their
imaginary part of 0.
2010-07-16 12:22:13 -04:00
Vincent St-Amour
fff71e6a1d Enabled optimization of complex conjugate at the top level of complex operations. 2010-07-16 12:22:12 -04:00
Vincent St-Amour
063211d922 Added unboxed complex conjugate. 2010-07-16 12:22:12 -04:00
Vincent St-Amour
0b0da84eba Added optimizations for iterating over vectors and strings. 2010-07-16 12:22:12 -04:00
Vincent St-Amour
1e550139aa Added dead code elimination. 2010-07-16 12:22:11 -04:00
Vincent St-Amour
4e6fc3154b Added a test for cross-module struct optimization. 2010-07-16 12:22:10 -04:00
Jay McCarthy
c9ccf6d48b Adding all hash prims per SK 2010-07-16 09:43:03 -06:00
Jay McCarthy
d17deb5fef Adding hash table functions to ASL 2010-07-15 15:45:54 -06:00
Mike Sperber
de94854243 Unbreak stepper tests.
... via a spectacularly ugly hack.
2010-07-14 14:07:13 +02:00
Matthew Flatt
90b586365f upgrade to latest libffi from git repo (between v3.0.9 and v3.0.10) 2010-07-13 21:12:59 -06:00
Ryan Culpepper
4693abf074 macro-stepper: re-enabled block test 2010-07-13 09:38:52 -06:00
Ryan Culpepper
e36c964a9a macro-stepper: updated tests 2010-07-13 09:22:52 -06:00
Ryan Culpepper
b8bf5c571a macro-stepper: add support for #%stratified-body 2010-07-13 09:22:51 -06:00
Mike Sperber
5f25c239f2 Merge remote branch 'local-plt/master'
Conflicts:
	collects/deinprogramm/define-record-procedures.scm
	collects/test-engine/scheme-tests.rkt
	collects/test-engine/test-display.scm
2010-07-13 17:13:30 +02:00
Matthew Flatt
818ac8f712 fix bug in new int-def parsing 2010-07-12 18:58:38 -06:00
Matthew Flatt
49ad309630 allow full continuations to escape past a continuation barrier 2010-07-10 07:31:58 -06:00
Matthew Flatt
52d04449a1 improve racket/serialize to handle cycles with mutable prefabs 2010-07-09 14:19:59 -06:00
Matthew Flatt
195b37831b fix `planet'-path bug in module-name resolver for generated eecutables 2010-07-09 09:48:41 -06:00
Matthew Flatt
0eeb18f4d8 Improve the bytecode optimizer's ability to simplify `letrec's
to smaller `letrec' groups or even `let*'.
 The goal of the change is to avoid performance surprises
 when using internal definitions, especially when mixing
 experessions with definitions.
 It's a somewhat scary change. Besides the new transformation,
 the optimizer pass's coordinate system for `letrec' (and sometimes
 `let*') bindings changed.
 No standard benchmarks were harmed during the making of this
 optimization. (None were improved, either.)
2010-07-08 13:43:40 -06:00
Vincent St-Amour
12a427f5ea Changed the size of the maze2 benchmark. 2010-07-07 20:46:06 -04:00
Vincent St-Amour
3334d71491 Fixed the fft benchmark. 2010-07-07 19:42:56 -04:00
Vincent St-Amour
7853d33349 Improved unboxed complex operations.
Intermediate results are kept as unboxed floats as long as we stay
within complex arithmetic code.
2010-07-07 19:42:56 -04:00
Vincent St-Amour
7921074eef Avoid boxing intermediate results when doing multiple complex
operations in a row.

However, because of values and let-values, we lose float unboxing.
If we have a single complex operation, this is much slower than my
previous implementation (though still faster than generic
operations). With 2 complex operations, the new implementation becomes
faster.
2010-07-07 19:42:55 -04:00
Vincent St-Amour
de52d2ce9f Avoided duplicate computation in inexact complex division. 2010-07-07 19:42:55 -04:00
Vincent St-Amour
3fb69bc764 Generic inexact complex arithmetic operations are now replaced with
the right combinations of unsafe float operations.
2010-07-07 19:42:54 -04:00
Vincent St-Amour
e52d63ee68 Added an optimization for vector-length of known-length vectors. 2010-07-07 19:42:54 -04:00
Matthew Flatt
54216b5ced internal-definition contexts allow expressions mixed with definitions
while the new `#%stratified-body' form provides access to the old
 convention
2010-07-07 13:56:16 -06:00
Matthew Flatt
63ec520885 fix problem with Windows pipe writing 2010-07-06 10:59:16 -06:00
Matthew Flatt
96a6f56572 fix problem sharing Windows file handles to subprocess 2010-07-06 06:49:59 -06:00
Matthew Flatt
04fa6c6acd add `subprocess-group-enabled' for process-group support
and fix problems with places and subprocesses
 and fix some mzrt thread setup and teardown issues
2010-07-05 17:51:26 -06:00
Matthew Flatt
5c2ae50e45 add current-subprocess-custodian-mode 2010-07-04 12:42:25 -06:00
Matthew Flatt
fb730cb1c2 custodian box as synchronizable event 2010-07-04 10:42:38 -06:00
Robby Findler
f83784452e made ->d's optional argument spec itself optional 2010-07-02 20:52:48 -05:00
Vincent St-Amour
389a20795a Added support for make-flrectangular, flreal-part, flimag-part and
their unsafe counterparts to Typed Scheme and its optimizer.
2010-07-02 20:58:30 -04:00
Vincent St-Amour
556734a223 Added coercion of fixnums to floats to the optimizer. 2010-07-02 20:58:29 -04:00
Vincent St-Amour
e8a0a26c2f Changed the optimizer's test harness to ignore type tables. 2010-07-02 20:58:29 -04:00
Vincent St-Amour
cb0e058cff Removed spectralnorm-unsafe from the shootout harness. 2010-07-02 20:58:29 -04:00
Vincent St-Amour
a6d11a1df0 Added struct optimizations. 2010-07-02 20:58:28 -04:00
Vincent St-Amour
5d61c7fab8 Ported the maze2 benchmark to typed Scheme. 2010-07-02 20:58:28 -04:00
Sam Tobin-Hochstadt
e989631d56 Add flags for running the optimizer tests and compiling the benchmarks 2010-07-02 19:00:57 -04:00
Matthew Flatt
439bc0a293 add flreal-part', flimag-part', `make-flrectangular', and unsafe variants 2010-07-02 16:08:15 -06:00
Matthew Flatt
eef7a8ba9d JIT inline real-part, imag-part, make-rectangular 2010-07-02 16:08:14 -06:00
Matthew Flatt
491ab3c12b expose internal display/write/print-limiting functionality via `printf'
addition of ~.
2010-07-02 16:08:14 -06:00
Sam Tobin-Hochstadt
0e400291e7 Fix inference for heterogenous vectors. 2010-07-02 17:25:07 -04:00
Sam Tobin-Hochstadt
570df7d665 Generalize fixed-length lists to listofs.
Closes PR10057.
2010-07-02 17:25:07 -04:00
Vincent St-Amour
458b6b65c9 Added optimization when iterating over lists. 2010-07-02 15:48:06 -04:00
Vincent St-Amour
1886572906 Added support for the 2 versions of optimizer tests to be written in
different languages.
2010-07-02 15:48:05 -04:00
Vincent St-Amour
f6077b02f1 Fixed some tests that used to test for an invalid optimization that is
now valid.
2010-07-02 15:48:04 -04:00
Vincent St-Amour
f79f617ee8 Calls to vector now return heterogenous vectors, to preserve length
information.
2010-07-02 15:48:03 -04:00
Vincent St-Amour
f469e0d8bf Changed some benchmarks to use known-length vectors. 2010-07-02 15:48:02 -04:00
Vincent St-Amour
8c25e46141 Literal vectors are now given HeterogenousVector types to preserve
length information.
2010-07-02 15:48:00 -04:00
Vincent St-Amour
25cb5ef568 Fixed some tests to reflect changes to the optimizer. 2010-07-02 15:47:59 -04:00
Vincent St-Amour
351de3f767 Fixed the behavior of the optimizer on sqrt. 2010-07-02 15:47:58 -04:00
Vincent St-Amour
816cc75654 Fixed tests for invalid optimizations to actually test something. 2010-07-02 15:47:57 -04:00
Vincent St-Amour
ae242e2f88 Propagated Sam's changes to spectralnorm to the generic and unsafe versions. 2010-07-02 15:47:56 -04:00
Vincent St-Amour
cdfbbc5476 Fixed the type of real->decimal-string. 2010-07-02 15:47:56 -04:00
Vincent St-Amour
636fca1a83 Generalization is now done on vector types. 2010-07-02 15:16:11 -04:00
Vincent St-Amour
06279de2ca Nonnegative-Floats are now generalized to Floats. 2010-07-02 15:16:10 -04:00
Ryan Culpepper
a543c2137e unstable: removed byte-counting-port.rkt (use open-output-nowhere instead)
updated test to verify that open-output-nowhere has same behavior
2010-07-01 17:05:06 -06:00
Sam Tobin-Hochstadt
71bb63c128 Better typing for `make-sequence'. 2010-07-01 17:12:59 -04:00
Matthew Flatt
3de7dbd2fd add chaperone-evt 2010-07-01 14:59:01 -06:00
Sam Tobin-Hochstadt
3d347f117b Add --just flag for running tests. 2010-07-01 13:47:02 -04:00
Sam Tobin-Hochstadt
4f3e3625b3 Fix error spec for this test. 2010-07-01 13:45:52 -04:00
Sam Tobin-Hochstadt
c0a9704ebc Rewrote spectral-norm benchmark based on Lua version. 2010-07-01 11:35:21 -04:00
Sam Tobin-Hochstadt
75bd26d326 Better error message for multiple ->
Closes PR 10493.
2010-07-01 11:35:21 -04:00
Robby Findler
8a6058fa0f added some printouts to say what this file is doing. 2010-07-01 06:03:08 -05:00
Robby Findler
896bbfaabb Adding support to do memory profiling of drr startup that drdr can track. 2010-07-01 06:03:07 -05:00
Robby Findler
b4d176466a Added a logger to drdr for tracking drracket's memory use on startup 2010-07-01 06:03:07 -05:00
Vincent St-Amour
e4cd5329fb Fixed benchmarks to work with Nonnegative-Floats. 2010-06-30 19:27:18 -04:00
Vincent St-Amour
62a15df3eb Added the Nonnegative-Float type. 2010-06-30 14:53:22 -04:00
Vincent St-Amour
dcfb2d8a94 Added the Inexact-Complex type. 2010-06-30 14:53:21 -04:00
Vincent St-Amour
ef576e27c5 Fixed the type of min and max to only operate on reals. 2010-06-30 14:53:20 -04:00
Vincent St-Amour
dfafc0b295 Added fixnum optimizations. 2010-06-30 14:53:18 -04:00
Jay McCarthy
06844073c7 Switch to using substitutions in returns and remove old parts of the interface 2010-06-30 10:54:13 -06:00
Sam Tobin-Hochstadt
c01b239779 Refactor struct type representation.
- fields now represented by fld struct.
 - mutability on per-field basis
 - accessors are per field

This fixes lots of existing bugs, allows future #:mutable on fields.
2010-06-29 17:33:36 -04:00
Jay McCarthy
e46dbe3db5 Fixing bug in formlet macro 2010-06-29 15:17:13 -06:00
Jay McCarthy
fc91321f21 Close connection sooner 2010-06-29 13:49:01 -06:00
Jay McCarthy
df30cda523 Port registry and changing benchmarks to not conflict on ports 2010-06-29 13:38:36 -06:00
Jay McCarthy
2e5c04f083 Nail down port and dont conflict 2010-06-29 13:23:23 -06:00
Jay McCarthy
0062a4eb23 Fixing tests, adding provide, clarifying names 2010-06-29 13:18:04 -06:00
Jay McCarthy
a6852d8f61 Adding FFI to Datalog 2010-06-29 11:09:07 -06:00
Jay McCarthy
b4cc683f08 Fixing output port 2010-06-28 19:58:18 -06:00
Matthew Flatt
47c7c1a27b JIT support for inexact->exact', add unsafe-fl->fx', etc. 2010-06-28 15:57:49 -06:00
Jay McCarthy
da7d4d4042 Adding datalog macro 2010-06-28 13:22:53 -06:00
Jay McCarthy
12797fef41 Using the datalog reader for racklog 2010-06-28 11:24:01 -06:00
Sam Tobin-Hochstadt
23553392df Rewrite typed common benchmark wrapper. 2010-06-28 12:12:32 -04:00
Sam Tobin-Hochstadt
e7c33c2244 Rewrite shootout benchmark wrapper.
- Now only needs one wrapper, conditions on module name
 - use with #lang s-exp
 - uses typed reader
2010-06-28 11:09:59 -04:00
Mike Sperber
faf8ec358f Rename DMdA/HtDP "contract" to "signature". 2010-06-28 14:58:16 +02:00
Matthew Flatt
dc99e1992c restore support for sub-matches in `regexp-replace*' 2010-06-26 18:23:54 -06:00
Jay McCarthy
c48d1b58b4 Uses a more traditional read/expand/eval pipeline 2010-06-26 15:25:22 -06:00
Jay McCarthy
07142e2305 Use capitalized letters for variables in paren version 2010-06-26 13:17:10 -06:00
Jay McCarthy
0bda9efa96 Removing old sexp library and correct docs for warning 2010-06-25 22:36:13 -06:00
Jay McCarthy
e90de7196d Moving tests 2010-06-25 22:36:12 -06:00
Eli Barzilay
f5a0e6e0b8 Undo the racket/init symbolic form thing.
It needs to be (lib "racket/init") because that's the way that racket
uses the -I flag.  I think that I ran into this in the past, so drop in
a comment explaining this.

This reverts commit f58b58383f.
2010-06-25 16:05:58 -04:00
Vincent St-Amour
28acece484 Fixed Typed Scheme's optimizer's test harness to work with drdr. 2010-06-25 13:25:42 -04:00
Eli Barzilay
f58b58383f Adjust tests to requiring racket/init in symbolic form. 2010-06-25 11:01:05 -04:00
Vincent St-Amour
17f0d146f1 Adjusted benchmark sizes. 2010-06-25 11:00:25 -04:00
Vincent St-Amour
bc0d0a6e18 Unified the nbody-vec benchmarks so that they only differ by their use
of flonum or unsafe operations.
2010-06-25 11:00:25 -04:00
Vincent St-Amour
369ce44416 Made the default nbody benchmark unsafe. 2010-06-25 11:00:24 -04:00
Vincent St-Amour
a14c31a1de Changed dderiv to be closer to the untyped version. 2010-06-25 11:00:24 -04:00
Vincent St-Amour
b345d5f0f0 Typed Scheme now optimizes (fl)vector-length for all vectors and
vector-(ref,set!) for vectors of known length.
2010-06-25 11:00:24 -04:00
Vincent St-Amour
fd987546b3 Wrote a test harness and a couple of tests for Typed Scheme's optimizer. 2010-06-25 11:00:23 -04:00
Vincent St-Amour
8c8dbf0895 Fixes to some benchmarks due to the new fixnum types. 2010-06-25 11:00:23 -04:00
Vincent St-Amour
cea65c195b Fixed typed wrappers for the typed versions of mandelbrot. 2010-06-25 11:00:22 -04:00
Vincent St-Amour
a4236b0b3b Propagated Eli's bugfix to the typed version of binarytrees. 2010-06-25 11:00:22 -04:00
Sam Tobin-Hochstadt
4b1c62c978 Add Fixnum type. 2010-06-24 18:05:55 -04:00
Eli Barzilay
b46cb492bb Reorganize as function calls, to make it easier to customize. 2010-06-24 17:17:10 -04:00
Sam Tobin-Hochstadt
5b1118d514 More options for test runner. 2010-06-24 16:46:31 -04:00
Sam Tobin-Hochstadt
3c8952d63d Use the correct field numbers in substructs.
Maintain table of struct accessors/mutators.
2010-06-24 14:53:38 -04:00
Jay McCarthy
428412036f Fixing PR 10970 2010-06-23 16:29:23 -06:00
Eli Barzilay
3f36d054f6 Turn contracts on enqueue!' and dequeue!' into the usual error checks.
On a simple benchmark of:

  (let ([N 100000]
        [M 20]
        [q (make-queue)])
    (time (for ([i (in-range M)])
            (for ([i (in-range (* i N))]) (enqueue! q i))
            (unless (for/and ([i (in-range (* i N))]) (list i (dequeue! q)))
              (error "poof")))))

I get these timings:

  original version: cpu time: 24438 real time: 24439 gc time: 8164
  single-links:     cpu time: 17848 real time: 17849 gc time: 4859
  this version:     cpu time:  6519 real time:  6519 gc time: 3032

In addition, cleaned up the documentation a little, and mention the fact
that it is not thread safe.
2010-06-23 16:13:54 -04:00
Eli Barzilay
d986fed725 Uses a simpler single-linked list, about half of the meat code, and much
faster due to the removed overhead of dealing with the redundant
pointers.
2010-06-23 16:13:53 -04:00
Matthew Flatt
42c7b2b9d3 fix missed parts of the hash-table hahing bug 2010-06-23 07:09:59 -10:00
Matthew Flatt
bfd769a29c fix hashing of hash-table values
the order of keys+values in the table could affect the
 hash code, due to an interation with the depth-limiting
 counter
 Closes PR 10985
2010-06-23 07:00:29 -10:00
Eli Barzilay
0ffe4c1efb Revert "Adding XPM parser"
Not needed, since an XPM parser was already implemented.

This reverts commit 4d58a10ff4.
2010-06-23 07:34:40 -04:00
Eli Barzilay
e0c18c3a4b Remove the temporary file when done with it. 2010-06-23 07:34:39 -04:00
Eli Barzilay
acace4bc18 Fixes two bugs that I somehow missed completely.
(Also removed leftover `time'.)
2010-06-23 07:34:17 -04:00
Vincent St-Amour
ef1da61fd0 Added S-Expression diff to unstable. 2010-06-22 18:42:28 -04:00
Vincent St-Amour
d3c5ca7537 Propagated Eli's changes to the binarytrees benchmark to the typed
version.
2010-06-22 18:42:27 -04:00
Vincent St-Amour
7d1040283e Added support for unsafe struct operations to Typed Scheme. 2010-06-22 18:42:25 -04:00
Vincent St-Amour
c9383cffc2 Propagated Eli's changes to reversecomplement and fasta to the typed
versions.
2010-06-22 18:42:08 -04:00
Vincent St-Amour
4f501726fb Fixed a bug in the shootout harness. 2010-06-22 18:29:58 -04:00
Vincent St-Amour
bc794b443c Propagated Eli's changes to the mandelbrot benchmark to the generic
and typed versions.
2010-06-22 18:29:57 -04:00
Vincent St-Amour
5234809baf The moments benchmark now gets floats as input. 2010-06-22 18:29:56 -04:00
Vincent St-Amour
61545c4e75 Made make-vector's type more convenient. 2010-06-22 18:29:56 -04:00
Vincent St-Amour
dd858bc11f Got rid the the mandelbrot-unsafe benchmark, to reflect Eli's
changes.
2010-06-22 18:29:55 -04:00
Sam Tobin-Hochstadt
6e1954d79b Add `struct:' 2010-06-22 16:29:35 -04:00
Jay McCarthy
4d58a10ff4 Adding XPM parser 2010-06-22 11:33:06 -06:00
Sam Tobin-Hochstadt
bce2cedf38 Typecheck `map' expression, not just #'map. 2010-06-22 10:12:54 -04:00
Sam Tobin-Hochstadt
95c5f942e6 Initialize `infer' for tests 2010-06-22 10:11:14 -04:00
Sam Tobin-Hochstadt
0c7c722e16 support `map' over multiple ListDots with the same bound
- also support ListDots + Listof (map errors when not same length)
2010-06-21 18:30:30 -04:00
Sam Tobin-Hochstadt
44d46e4cd7 Refactor substitution.
- new file types/substitute
 - use structs for substitutions
2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
dcc8beb5cd This test case now passes. 2010-06-21 18:30:28 -04:00
Sam Tobin-Hochstadt
e235c837b0 The inference engine doesn't need this annotation anymore. 2010-06-21 18:30:25 -04:00
Sam Tobin-Hochstadt
7b2de53733 Re-enable the printer here. 2010-06-21 18:30:24 -04:00
Sam Tobin-Hochstadt
12384c6c3f Change type variable environments from hash tables to sets. 2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
e9f8cc9aca Refactor test harness. 2010-06-21 18:29:59 -04:00
Sam Tobin-Hochstadt
f7b59f78e9 Generalize ListDots to Listof in inference of loop var types. 2010-06-21 18:29:58 -04:00
Sam Tobin-Hochstadt
a2af89bafd Inference for passing ListDots as Listof. 2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
fd5a662ccc Subtyping between (List T ... a) and (Listof T[Any/a]) 2010-06-21 18:29:57 -04:00
Sam Tobin-Hochstadt
4cbeb0b2f0 Change type of ... rest args to have (List T ...) types. 2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
e40d1824b0 Initial ListDots test. 2010-06-21 18:29:56 -04:00
Sam Tobin-Hochstadt
50f93b9ed7 More environment refactoring.
- rationalize naming of files
- split files by env constructed
2010-06-21 18:29:55 -04:00
Jay McCarthy
a13edb18b6 Transparent XML structs 2010-06-21 12:48:26 -06:00
Jay McCarthy
801419693a Default args to eliminate-whitespace 2010-06-21 12:48:26 -06:00
Eli Barzilay
554f026c71 "The Great Computer Language Shootout" -> "The Computer Language Benchmarks Game"
As requested by Isaac Gouy.
2010-06-20 22:19:43 -04:00
Eli Barzilay
ee57029a92 One more optimization, getting it to 60x. 2010-06-20 18:37:07 -04:00
Eli Barzilay
eec0f4bf66 Yet another 2x factor.
(Total ~22x.)
2010-06-20 18:37:06 -04:00
Eli Barzilay
c78f367d9f Another simple improvement, making things about twice faster.
Total speedup is now ~14x.
2010-06-20 18:37:06 -04:00
Eli Barzilay
26c89b2ac6 And one more optimization gets this to a total of 6x improvement. 2010-06-20 18:37:06 -04:00
Eli Barzilay
e975e8e0c8 Another optimization, makes the `fl->fx' issue from the last one
irrelevant since it's not using it in the tight loop, but buys a bigger
improvement anyway.
2010-06-20 18:37:06 -04:00
Eli Barzilay
96006264ad Some improved shootout benchmarks.
* An improved version of the `fasta' benchmark: ~2.5 times faster, and
  if an inlined `unsafe-fl->fx' is added it is probably going to be
  about ~3.5 times faster.

* `reversecomplement' -- revised code that is ~2.5 times faster, further
  tweaks and unsafe ops gets it to ~4.5 times.

* Doing the structs differently in `binarytrees' and a few minor tweaks
  get it to be ~1.5 times faster.  This is probably because a leaf has
  now only one field.

* `mandelbrot' improved a little (~1.2x), but the code is pretty much a
  rewrite.  (Given some more flonum inlining it can probably do much
  better.)

* Added a comment to `pidigits-gmp' saying that it was used without
  attribution.

These versions use unsafe operations, but I'm not putting them in
separate files since it's easy to turn them off.  I've also removed
"mandelbrot-unsafe.rkt", since it was identical to the safe version.
2010-06-20 18:36:25 -04:00
Sam Tobin-Hochstadt
1e15ce1f32 Fix error message for 1-arg apply 2010-06-19 14:58:52 -04:00
Vincent St-Amour
f16732adbe Fixed a typo in the shootout harness. 2010-06-18 20:30:15 -04:00
Robby Findler
4cd7152b62 made the drracket test suite match the new labels in the language dialog. 2010-06-18 17:38:54 -05:00
Vincent St-Amour
416f4fd3c3 Added input generation for the regexmatch benchmark. 2010-06-18 17:43:06 -04:00
Vincent St-Amour
894d159123 Disabled thread-ring in the harness, since it calls exit and doesn't
display its running time.
2010-06-18 17:43:05 -04:00
Vincent St-Amour
1dc963684b Rewrote the typed partialsums benchmark to be closer to the untyped
version.
2010-06-18 17:43:04 -04:00
Vincent St-Amour
31f285d23c Adjusted benchmark sizes. 2010-06-18 17:43:04 -04:00
Vincent St-Amour
343e9d23b4 Ported some new benchmarks and variants to Typed Scheme. 2010-06-18 17:43:04 -04:00
Vincent St-Amour
ffad1edd7a Added the fannkuch-redux benchmark, which replaced fannkuch on the
shootout roster.
2010-06-18 17:43:03 -04:00
Vincent St-Amour
7ccae0fb1d Got rid of assertions in the benchmarks caused by naturals as indices. 2010-06-18 17:43:02 -04:00
Vincent St-Amour
54eefc52ed Relaxed some type constraints on the ray tracer benchmark. 2010-06-18 17:43:01 -04:00
Vincent St-Amour
e0b880d1ea Fixed the sumcol benchmark to obey the new type for read-line. 2010-06-18 17:43:01 -04:00
Vincent St-Amour
72ec18cc68 Rewrote the moments benchmark to potentially benefit from unboxing of
loop accumulators.
2010-06-18 17:43:01 -04:00
Vincent St-Amour
06eb544fd6 Fixes to the shootout benchmarks to reflect the new weaker promotion
rules.
2010-06-18 17:43:00 -04:00
Vincent St-Amour
ff1c3874cc Added a coercion to inexact to avoid the case: (* <float> 0) -> exact 0
which causes a segfault when the result is used with an unsafe-fl
operation.
2010-06-18 17:43:00 -04:00
Vincent St-Amour
cff4eef7b2 Adjusted input size for the shootout benchmarks. 2010-06-18 17:43:00 -04:00
Vincent St-Amour
31d4da6f39 Added an empty benchmark to measure Typed Scheme's startup time. 2010-06-18 17:42:59 -04:00
Vincent St-Amour
7bb8405871 Fixed a bug in the shootout harness, which threw away generated input. 2010-06-18 17:42:59 -04:00
Vincent St-Amour
3e0446d774 Modified some of the untyped shootout benchmarks to be closer to the
typed versions.
2010-06-18 17:42:58 -04:00
Vincent St-Amour
7f3db138e7 Integrated the typed shootout benchmarks to the untyped harness. 2010-06-18 17:42:58 -04:00
Vincent St-Amour
d48f1bb6aa Racketified the untyped shootout benchmarks. 2010-06-18 17:42:58 -04:00
Vincent St-Amour
4fde1e8ccb Ported most of the shootout benchmarks to Typed Scheme. 2010-06-18 17:42:57 -04:00
Sam Tobin-Hochstadt
77e4bbb5eb base-types-new -> base-types 2010-06-17 11:47:16 -04:00
Sam Tobin-Hochstadt
bdbb6d48e6 Try harder to find types for loop variables.
- use `find-annotation' more
 - recognize (let ([x y]) ...)
2010-06-17 11:26:33 -04:00
Vincent St-Amour
93e5d0e9dc Added an option to subtract the running time of the empty benchmark to
the tabulator.
2010-06-15 16:39:32 -04:00
Vincent St-Amour
a33372eb78 Added an option to display the coefficient of variation to the
tabulator.
2010-06-15 16:21:51 -04:00
Sam Tobin-Hochstadt
4cc86cc8c8 set-mc[ad]r!, inference, printing, tests for mpairs 2010-06-15 16:10:16 -04:00
Sam Tobin-Hochstadt
f73d63e1af eq? is a predicate for eof 2010-06-15 14:59:08 -04:00
Sam Tobin-Hochstadt
cf5c74a2ca Generate -> instead of ->* when required by case->.
Closes PR 10977.
2010-06-13 15:01:57 -04:00
Sam Tobin-Hochstadt
d4d286d31d Allow (All (A) A -> A), dropping pair of parens. 2010-06-13 14:38:03 -04:00
Vincent St-Amour
fe09ce3dee Added Jeff Siskind's ray tracer to the racket-specific benchmarks. 2010-06-11 19:48:23 -04:00
Vincent St-Amour
727000fbfb Fixed the common benchmark harness to compile the typed benchmarks
before running them.
2010-06-11 19:48:22 -04:00
Sam Tobin-Hochstadt
1cff0a1f85 Actually typecheck actuals even when there's a type annotation. 2010-06-11 19:35:56 -04:00
Sam Tobin-Hochstadt
7ece2a4872 Fix type of `zero?' to properly handle 0.0. 2010-06-11 18:54:05 -04:00
Matthew Flatt
d6d5c914f7 cases when number functions produce 0: clarify docs and fix (atan 0 x)
for positive exact x;
 also clarify docs on some cases when divide-by-zero exception is raised
2010-06-11 15:04:24 -06:00
Sam Tobin-Hochstadt
fd1b20c93d Fix optimizer for refactoring. 2010-06-11 14:21:42 -04:00
Sam Tobin-Hochstadt
b649575afc new bug with mutation 2010-06-11 11:55:22 -04:00
Sam Tobin-Hochstadt
0379e534e3 New interface for unstable/mutated-vars
- functional hash tables
 - fix clients
2010-06-10 13:28:29 -04:00
Stevie Strickland
7b38cef4e8 Fix first-order cons/c check in mzlib contract tests. 2010-06-09 15:52:29 -04:00
Vincent St-Amour
6b4ca4d7b0 Added tests and documentation for Thread and Channel types. 2010-06-09 14:54:37 -04:00
Vincent St-Amour
0741b48c99 Modified the for: macros to use sequence types. 2010-06-09 14:54:34 -04:00
Vincent St-Amour
f42880c320 Moved the typed common benchmarks to a separate subdirectory. 2010-06-09 14:54:33 -04:00
Vincent St-Amour
077e1d9bca Increased the size of the pseudoknot benchmark and ported it to
idiomatic racket, then to Typed Scheme.
2010-06-09 14:51:52 -04:00
Stevie Strickland
99bb46d225 Fix flat immutable container ctcs so that errors pinpoint specific elements.
* Fixes immutable container contract combinators so that, if given flat
   contracts, they report blame errors in terms of the specific element
   that failed, instead of reporting the entire container as failing.

   This fixes issues seen with contracts such as (listof string?), where
   the contract is applied to a list with far too many elements to print
   all at once and the failing element is never printed.

 * Fixes vector-immutable/c so that if all the element contracts are flat,
   we create a flat contract, like the other immutable container contract
   combinators.

 * Also have more appropriate first-order checks for each combinator
   than just "Is it the right type of container?".

These changes affect:
 listof
 non-empty-listof
 vector-immutableof
 cons/c
 box-immutable/c
 vector-immutable/c
2010-06-09 13:29:04 -04:00
Matthew Flatt
d6ddbe15d5 support kw/opt args in define-syntax' and define-for-syntax' 2010-06-09 13:05:43 -04:00
Sam Tobin-Hochstadt
78023d08f9 Sequenceof type.
- inferencing and subtyping relation with vectors, lists, etc
- use in `make-sequence'
- add tests
2010-06-09 11:03:12 -04:00
Sam Tobin-Hochstadt
78832fe332 Support case-lambda with multiple branches with keyword arguments. 2010-06-08 17:50:48 -04:00
Sam Tobin-Hochstadt
6d2b5569f4 Remove bogus #lang line 2010-06-08 13:08:13 -04:00
Sam Tobin-Hochstadt
9fc7a1eca4 Use `assert' for casts in typed benchmarks. 2010-06-08 12:05:58 -04:00
Sam Tobin-Hochstadt
5f5dca4c69 Undo changes to benchmarks to use `sub1'. 2010-06-08 12:05:57 -04:00
Sam Tobin-Hochstadt
7f300a2c4f Special-case (- x 1) for use in loops. 2010-06-08 12:05:56 -04:00
Mike Sperber
30f9cd0dab Merge remote branch 'local-plt/master' 2010-06-08 14:22:51 +02:00
Mike Sperber
f54dc18326 Fix file names for loading. 2010-06-08 11:19:28 +02:00
Sam Tobin-Hochstadt
7df8e32793 Properly handling immutable invariant structs. 2010-06-07 14:03:06 -04:00
Mike Sperber
93d7ec9446 Don't recheck DMdA lazy contracts we've already checked.
We avoided re-applying contracts that haven't been checked, but not
those that have.  Do so now.
2010-06-07 17:06:07 +02:00
Carl Eastlund
a915d7c053 Changed unstable/debug to use error printing instead of logger output. 2010-06-06 20:31:36 -04:00
Carl Eastlund
ddc889532e Replaced unstable/debug with unstable/cce/debug. 2010-06-06 20:31:36 -04:00
Carl Eastlund
5faced0c23 Moved unstable/cce/set to unstable/set. 2010-06-06 20:31:35 -04:00
Carl Eastlund
7131198974 Moved unstable/cce/define to unstable/define. 2010-06-06 20:31:33 -04:00
Carl Eastlund
ce85a96978 Moved the contents of unstable/cce/syntax to multiple other modules:
unstable/syntax, unstable/contract, and unstable/planet-syntax.
2010-06-06 20:31:32 -04:00
Carl Eastlund
fb53d5d191 Moved unstable/cce/dict to unstable/dict. 2010-06-06 20:31:31 -04:00
Carl Eastlund
86a3c3ed18 Moved unstable/cce/class to unstable/class. 2010-06-06 20:31:31 -04:00
Carl Eastlund
1360d02728 Added unstable/cce/exn to unstable/exn. 2010-06-06 20:31:30 -04:00
Carl Eastlund
402232237c Moved unstable/cce/port to unstable/port. 2010-06-06 20:31:21 -04:00
Carl Eastlund
2db3a9d38a Moved unstable/cce/regexp to unstable/regexp. 2010-06-06 20:30:48 -04:00
Carl Eastlund
3a525b9a12 Replaced unstable/hash with unstable/cce/hash. 2010-06-06 20:30:48 -04:00
Carl Eastlund
286319d723 Added unstable/cce/contract contents to unstable/contract. 2010-06-06 20:30:47 -04:00
Carl Eastlund
70858e93e5 Moved unstable/cce/queue to unstable/queue. 2010-06-06 20:30:40 -04:00
Carl Eastlund
1d0c069a6c Moved unstable/cce/web to unstable/web. 2010-06-06 20:29:59 -04:00
Carl Eastlund
14b2daab66 Moved unstable/cce/values to unstable/values. 2010-06-06 20:29:56 -04:00
Carl Eastlund
a22a1a4c15 Added unstable/cce/match macros to unstable/match. 2010-06-06 20:29:55 -04:00
Carl Eastlund
6bcf77fe65 Moved unstable/cce/text to unstable/text. 2010-06-06 20:29:54 -04:00
Carl Eastlund
8d10a6343b Adapted unstable/cce/function to unstable/function. 2010-06-06 20:29:54 -04:00
Jay McCarthy
add2cbbbda Correcting test 2010-06-02 12:12:44 -06:00
Jay McCarthy
2985001a79 Fixing PR10950 2010-06-02 10:20:20 -06:00
Jay McCarthy
3ff7b0461c Debugging 2010-06-02 10:20:19 -06:00
Matthew Flatt
61d39f2568 bytecode compiler convert (apply f .... (list arg ...)) 2010-06-01 19:22:39 -06:00
Sam Tobin-Hochstadt
0e3c2b71cc Test for PR 10946. 2010-06-01 13:38:45 -04:00
Eli Barzilay
d0ecc73df5 More plt-scheme -> racket-lang, specifically for planet and bugs urls. 2010-05-31 15:11:27 -04:00
Vincent St-Amour
64ff5555fb Corrected some of the typed benchmarks to typecheck with Naturals as indices. 2010-05-29 14:23:11 -04:00
Vincent St-Amour
2229173b82 Changed the types of some numerical operations to be closed on naturals. 2010-05-29 11:31:47 -04:00
Sam Tobin-Hochstadt
d323a794e8 Change `typed-scheme' numerics.
- `number?' no longer `real?'
 - Number no longer Real
 - remove obsolete environments
 - Fix tests to use Real where necessary.
 - Fix typed/mred and typed/framework
 - Fix insert-large-letters to use `sub1' for type-safe loop

Merge to 5.0.
2010-05-28 19:24:46 -04:00
Vincent St-Amour
311be27422 Changed the common benchmark harness to compile benchmarks before
running them.
2010-05-28 19:05:45 -04:00
Vincent St-Amour
e9a0014630 Disabled multi-valued seq-exprs in the for: macros because using them
triggers an internal error in the typechecker.
2010-05-28 19:05:44 -04:00
Vincent St-Amour
c92ae73859 Wrote tests for the for: macros. 2010-05-28 19:05:44 -04:00
John Clements
2b7797ad17 comments added, & 1 test 2010-05-28 14:57:18 -07:00