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
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