Commit Graph

3841 Commits

Author SHA1 Message Date
Jon Rafkind
a9ba721be8 [honu] add example of lexically scoped macros 2011-11-22 10:30:44 -07:00
Jon Rafkind
973000adbb [honu] delay parsing of function bodies 2011-11-22 10:30:43 -07:00
Matthew Flatt
e44bd3f79d intern literal strings, byte strings, regexps, characters, and numbers 2011-11-22 08:54:37 -07:00
Robby Findler
a333b43259 make the planet cmdline-tool.rkt test more informative in the case that there are planet packages installed 2011-11-21 08:27:24 -06:00
Robby Findler
6ea6483221 adjust number-snip% so that it subscribes to the file/convertible
protocol for 'png-bytes and 'text
2011-11-20 16:38:17 -06:00
Matthew Flatt
d416dfaa8c fix copy-file' reporting of exn:fail:filesystem:exists?'
Fixes re-report for PR 12074
2011-11-19 19:40:49 -07:00
Matthew Flatt
91ef073c09 expand phase-related require/provide test
to check for the bug fixed by 76c9996ac7 and other potential
problems
2011-11-19 07:55:34 -07:00
Matthew Flatt
c1477e945d fix `namespace-require' on marked syntax
Closes PR 12381
2011-11-18 20:06:15 -07:00
Matthew Flatt
5665fe3477 fix `sequence-filer' on empty sequence
fix provided by Shviller
Closes PR 12383
2011-11-18 20:06:15 -07:00
Matthew Flatt
2ad78a33fb fix `provide' for macro-introduced bindings in phase != 0,#f 2011-11-18 20:06:15 -07:00
Jon Rafkind
70589a7033 [honu] create a new syntax class for parsing expressions at current-phase + 1. allow new operators to be defined using honu syntax 2011-11-17 23:34:59 -07:00
Jay McCarthy
36a408096c Fixing an error in quoting found by a student this year 2011-11-17 15:16:22 -07:00
Robby Findler
b726209dc5 fix the interaction between the automatic insertion of matching parens
and the magic fixup of opening parentheses.

This commit moves the automatic insertion of matching parens to the
scheme mode keymap, so it will now take affect in Racket mode editing,
only. Also, Rackety.
2011-11-16 19:36:18 -06:00
Vincent St-Amour
0a3a71fbbc Refine types of integer-bytes->integer' and arithmetic-shift'. 2011-11-15 15:31:07 -05:00
Jon Rafkind
219a39575a [honu] actually check for separator for the separate ids class. parse constructor arguments with comma separated ids 2011-11-15 12:19:27 -07:00
Jon Rafkind
815c3887fb [honu] abstract out separated identifiers 2011-11-15 12:19:26 -07:00
Matthew Flatt
45b8e103e5 places: fix GC of unreceived place-channel messages
An unreceived message can have a reference to a master-allocated
value, in which case that value must be marked. This marking
is implemented by embedding a linked link within the message
memory.
2011-11-14 18:04:45 -07:00
Jon Rafkind
47c6acdea5 [honu] add tests for precedence cases 2011-11-14 17:49:15 -07:00
Robby Findler
2f5e0206a8 more printfs to try to find what is going on in drdr with the module-lang-test.rkt 2011-11-14 07:08:37 -06:00
Jon Rafkind
5cb1834376 [honu] redo operator parsing to fix various precedence cases. add a new quasi-operator macro that can consume as much input on the right as it wants and use that to call methods on objects. change = to equal?. allow variables to be defined in classes 2011-11-14 00:45:55 -07:00
Robby Findler
870c8d28f4 move predicate/c from unstable/contract to racket/contract. In process,
change the implementation to special case struct procedures and to use
it in provide/contract.

This speeds up the rendering phase of the Guide documentation by more than 2x.
Thanks to Matthew for spotting the opportunity!
2011-11-13 17:19:15 -06:00
Ryan Culpepper
f38d959b3a db: fix transaction contract bugs, added transaction tests
closes PR 12364
2011-11-13 15:11:12 -07:00
Ryan Culpepper
b4e856cc3c db: fixed space leak in statement finalizer thread
This "fixes" the segfault in the test program, but it seems
like there must be another underlying problem.
2011-11-13 15:11:12 -07:00
Robby Findler
38b4d11abe add some debugging printfs in an effort to try to understand what's going wrong when this test runs in drdr 2011-11-13 08:15:02 -06:00
Robby Findler
4a54411f8c clean up the docs-build planet test case 2011-11-12 08:26:16 -06:00
Matthew Flatt
a0378a2b02 fix bug in prefab syntax marshaling
Closes PR 12352
2011-11-12 06:08:42 -07:00
Matthew Flatt
13605b55db remove accidentally added file 2011-11-12 05:33:20 -07:00
Matthew Flatt
75dd61ebc3 fix leak in `racket/draw' instantiation 2011-11-11 16:32:16 -07:00
Jon Rafkind
a4123ce536 [honu] rebind the result of parsing to the original pattern variable name 2011-11-11 10:35:09 -07:00
Jon Rafkind
786436b314 [honu] add some simple macro examples 2011-11-11 10:35:08 -07:00
Matthew Flatt
3cd071beb2 fix fd polling in atomic mode 2011-11-11 07:05:16 -07:00
Robby Findler
961e280a98 add a bunch of tests to the module language test suite based on test cases in the repl test suite
(since the repl test suite tests the pretty big language's repl and since there was a test case
there that would have discovered a bug that we only found in the hours before the release but had
been lurking for a few days)
2011-11-10 16:31:09 -06:00
Matthew Flatt
43e421faf4 fix bytecode compiler bug 2011-11-10 13:25:06 -07:00
Neil Toronto
e90ec4b69f Added unstable/latent-contract
Reorganized contracts
Started exposing customization API in plot/utils
Now dog-fooding customization API in earnest
2011-11-10 12:59:41 -07:00
Neil Toronto
ae64e8683a Parameter groups 2011-11-10 12:59:41 -07:00
Neil Toronto
4ca0729a2f Combined renderer structs and fixpoint bounds determination 2011-11-10 12:59:41 -07:00
Neil Toronto
f593d468f7 Finished first draft of tick/axis overhaul 2011-11-10 12:59:41 -07:00
Matthew Flatt
5139de9cec add `port-closed-evt' 2011-11-10 10:01:57 -07:00
Matthew Flatt
eb25a2db47 add epoll() support for Linux, kqueue() support for BSDs
This change builds on the blocking-I/O change to provide substantially
better performance when waiting on lots of sockets.
2011-11-10 10:01:56 -07:00
Jon Rafkind
8fe87bd2a9 [honu] reparse honu expressions into racket expressions 2011-11-09 11:17:41 -07:00
Jon Rafkind
5aa6b0b06e [honu] dont parse the output of syntax too early. wrap some core racket forms with %racket 2011-11-09 11:17:40 -07:00
Jon Rafkind
b25406db4c [honu] re-attach the output of macros to the input stream. wrap racket expressions so they dont get reparsed 2011-11-09 11:17:40 -07:00
Robby Findler
b063604ab4 fix begin-for-syntax test 2011-11-08 22:02:12 -06:00
Matthew Flatt
7d607fdd93 fix errortrace for phase N outside of module 2011-11-07 13:16:17 -07:00
Robby Findler
bfa6b1d953 Fixed some bugs in the double-stacktrace window; adjusted the repl to
be able to insert more with-stack-checkpoint calls in useful places;
adjust test suites to match the change in when the stacktrace icon
shows up
2011-11-07 07:42:14 -06:00
Robby Findler
cac37b0b6a added test cases for phase issues in the module language repl 2011-11-06 21:14:51 -06:00
Robby Findler
65fd0234ad add a unicode test to scheme-lexer.rkt
and change the tests so they all run with port line
counting enabled (or else the unicode test fails)

adjust module-lexer.rkt tests so they can run in either
port-counting mode or not (but currently run them all in
port-counting mode because scheme-lexer doesn't work without it)

also make a first stab at what needs to change in the module
lexer to make it work in non port line-counting mode
2011-11-03 22:41:27 -05:00
Robby Findler
b7541c5d1b Revert "IN PROGRESS: starting to fix the repl-test for the new error icons"
This reverts commit 8ec968fe8f.
2011-11-03 17:14:06 -05:00
Robby Findler
d00aed6f1b fix the module reader for the case when there are non-ASCII unicode characters
in comments before the #lang line

also add an #:init-position argument to peeking-input-port
2011-11-03 17:13:17 -05:00
Robby Findler
8ec968fe8f IN PROGRESS: starting to fix the repl-test for the new error icons 2011-11-03 17:13:17 -05:00
Eli Barzilay
b9bd1db58a Move the namespace creation so that it happens under the code-inspector.
This fixes a security issue where a toplevel evaluator could still use
things like `ffi/unsafe'.
2011-11-02 17:40:24 -04:00
Matthew Flatt
98cde53fa0 fix rename trans `free-identifier=?' propagation in int-def context
Closes PR 12333
2011-11-02 10:02:19 -06:00
Matthew Flatt
c7a0f1bef8 guard a space-safety test with a 3m check 2011-11-02 08:12:58 -06:00
Matthew Flatt
8d91efcee4 fix `get-bytevector-all' bug
Closes PR 12327
2011-11-02 08:12:58 -06:00
Jay McCarthy
8b38c8e933 Changed the exn thrown 2011-11-01 13:01:09 -06:00
Jay McCarthy
c2065b2128 Improving error messages for non-serializable continuation pieces 2011-11-01 11:16:47 -06:00
Ryan Culpepper
1dade8ee1d db: added support for postgresql arrays 2011-10-30 18:51:16 -06:00
Ryan Culpepper
e2e63684de data/order: added support for transparent structs, added tests 2011-10-30 18:51:16 -06:00
Matthew Flatt
d9b9cbe16a fix space-safety bug in composable continuations 2011-10-29 09:37:12 -06:00
Sam Tobin-Hochstadt
706198c059 Add `typecheck-fail' form for explicit type errors. 2011-10-25 12:10:58 -07:00
Robby Findler
fb02a0a5cd make list/c produce chaperone contracts, as appropriate
closes PR 12319
2011-10-24 08:16:49 -05:00
Robby Findler
a1654f1532 adjust the implementation of 'contract-out' so that it does some
checking of the syntax (that it can) and then just throws everything
to the end of the module, instead of trying to have it figure out
what the actually provided variables are at the beginning.

closes PR 12295
2011-10-24 08:16:48 -05:00
Jon Rafkind
6b519f7b64 [honu] remove extra semicolon from cond 2011-10-23 14:06:12 -06:00
Jon Rafkind
dccdcb0550 [honu] wrap expressions with a semicolon at the end of them in (%semicolon ...) 2011-10-23 14:06:06 -06:00
Vincent St-Amour
edacae9082 Fix benchmark graphs in the presence of the coefficient of variation. 2011-10-22 20:56:18 -04:00
Vincent St-Amour
a40723d14d Don't run benchmarks when only showing what's available. 2011-10-22 20:52:38 -04:00
Vincent St-Amour
a0b987bc1e Improve Guile benchmarking.
Thanks to Andy Wingo for pointers.
2011-10-22 20:52:38 -04:00
Sam Tobin-Hochstadt
da5b68fd4d Fix wrapping of null' when provided as Any'.
Reported by 'dingfeng' on #racket.
Please merge to 5.2.
2011-10-21 10:55:57 -04:00
Robby Findler
7acc5b7852 adjust HtDP teaching languages' first and rest so that they accept circular lists.
This commit fix an unintentional change introduced by this commit:
  c7d67f9bab
(and it also adds in test cases for what that commit appears to have
been doing)

Assuming everyone agrees that the behavior for first rest from back
in 2010 is the behavior we still want (and the lack of release notes
on the subject makes me believe that we do), then:

Please include in 5.2.
2011-10-21 08:09:34 -05:00
Matthew Flatt
a81054fef4 fix a marshaling bug for syntax objects
Closes PR 12300

Merge to 5.2
2011-10-18 20:53:43 -06:00
Matthew Flatt
c514fd3470 fix an identifier binding bug
Merge to 5.2
2011-10-16 07:11:34 -07:00
Ryan Culpepper
1695d73f5b rackunit: fixed test
merge to 5.2
2011-10-16 02:40:41 -06:00
Ryan Culpepper
18b3899e6a rackunit: fix tests
merge to 5.2
2011-10-16 02:40:41 -06:00
Matthew Flatt
6d608e392c add missing test for text% tab fix
Merge to 5.2
2011-10-13 06:03:10 -06:00
Matthew Flatt
5c0956d7b1 more memory accounting fixes for places
Fix memory accounting to detect when messages pile up in a
place channel and when shared values (such as the result of
`make-shared-bytes') pile up. Also fix problems where a GC
or free-page purge needs to be triggered.

The implementation causes a minor API change, which is that
a place channel sent multiple times as a message generates
values that are `equal?' but no longer eq?'.

Closes PR 12273

[Do not merge to 5.2]
2011-10-11 11:26:11 -06:00
Matthew Flatt
32b5390ad2 add missing GC registration for places
Merge to 5.2
2011-10-11 06:45:14 -06:00
Robby Findler
90304687f1 improve the strategy for check syntax's tail arrow information collection
In particular, instead of trying to collect all of the arrows and do some kind
of a smart transitive closure (that tries to avoid adding links that would "skip"
expressions but doesn't always manage it), the new code tries instead to build
the right links directly while traversing the fully expanded expression

This also seems to have been a minor performance improvement. When running the
information collection phase of check syntax (ie, not counting the time for
expansion) on a 1.8 GHz core i7, for collects/framework/private/text.rkt,
the times went from:

cpu time: 7347 real time: 7413 gc time: 211
cpu time: 7328 real time: 7393 gc time: 239
cpu time: 7356 real time: 7418 gc time: 240

to:

cpu time: 7562 real time: 7632 gc time: 265
cpu time: 7555 real time: 7618 gc time: 269
cpu time: 7552 real time: 7617 gc time: 262

closes PR 11835

do not include in 5.2
2011-10-10 14:18:01 -05:00
Jay McCarthy
b20ffdbe95 Fixing breakage from push 23693 2011-10-10 08:27:34 -06:00
Jay McCarthy
354283132d Fixing PR 12271 2011-10-10 06:45:42 -06:00
Matthew Flatt
c805728d3e fix compiler confusion: non-mutating vs reorderable unsafe ops
Reordering `unsafe-vector-ref' past an `unsafe-vector-set!' was
particularly bad. Meanwhile, some non-mutating operations like
`unsafe-mcar' were treated too conservatively.

Merge to 5.2
2011-10-09 19:46:24 -06:00
Matthew Flatt
1bc80310e3 fix compiler bug that could cause infinite inlining loop
The bug was that a procedure could be incorrectly marked as
a "leaf" procedure, which could in turn cause the compiler
to keep inlining a very small procedure that calls itself.

Closes PR 12270

Merge to 5.2
2011-10-08 16:40:34 -06:00
Stephen Chang
79dd7df945 fix lazy stepper bug: annota of non-identifier fns
- fix lazy stepper bug where delaying of non-identifier fns
  wasnt being properly hidden
- add test case for this bug

include in 5.2
2011-10-08 15:59:32 -04:00
Matthew Flatt
379991c5bb fix text% `get-paragraph-{start,end}-position' bug and doc bugs
Merge to 5.2
2011-10-08 09:12:30 -06:00
Robby Findler
1eaf53d4cb adjust the module lexer so that it treats the entire range that
'read-language' uses as a single token in the case that read-language
fails. This helps it to deal with things like s-exp and at-exp
properly

closes PR 12260
2011-10-08 08:08:36 -05:00
Ryan Culpepper
a100395626 rackunit: prevent test case from killing test-runner thread
closes PR 11586
2011-10-07 19:40:48 -06:00
Robby Findler
a40f288e48 relaxed the restrictions on planet requires in the teaching languages to allow the new forms 2011-10-07 11:48:24 -05:00
Matthew Flatt
b6a9330bf1 more `raco exe' cycle repairs 2011-10-07 10:32:49 -06:00
Matthew Flatt
f02ea92250 fix compiler bug related to `#%variable-reference' on local
The first compiler pass didn't properly shift the stack offset
when adjusting the context of a varref of a local.

Closes PR 12258
2011-10-07 09:42:33 -06:00
Sam Tobin-Hochstadt
463a34ec90 Revert "Fixing racket/match by removing errorneous optimization with test that shows it is broken"
This reverts commit 41307f1346.
2011-10-06 18:32:05 -04:00
Sam Tobin-Hochstadt
1d9ac41772 Use unsafe-vector* instead of unsafe-vector in a few benchmarks. 2011-10-06 18:17:45 -04:00
Robby Findler
5829673215 adjust the scheme-lexer test suite so that it complains to stderr to fit
with drdr

also change two of the failing tests so they pass, but incorrectly and
add a note there to that effect so if someone does fix that eventually
they won't be confused (I hope)
2011-10-06 12:00:23 -05:00
Jay McCarthy
41307f1346 Fixing racket/match by removing errorneous optimization with test that shows it is broken 2011-10-05 16:29:16 -06:00
Neil Toronto
d3b5e21cae Added new plot library and old libfit (which plot still depends on) 2011-10-05 10:26:49 -06:00
Matthew Flatt
fe1909581b remove `raco exe' plot test 2011-10-05 09:40:27 -06:00
Eli Barzilay
515c8dc6c1 Fix for `make-module-evaluator' with a file.
It used to work, but now it fails since when it runs "/foo/bar/baz.rkt"
racket uses 'exists with "/foo/bar".  See the comment for the fix that I
used.
2011-10-05 07:20:59 -04:00
Eli Barzilay
e01e46b772 Removed the `plot' collection, in preparation for adding the new one instead. 2011-10-05 04:09:10 -04:00
Robby Findler
11a3d9b0ac add support for redirections to get-pure-port and add get-pure-port/headers 2011-10-03 13:21:30 -05:00
Robby Findler
1fa6129afc adjust the "Transfer-Encoding: chunked" code to re-use bytes more
agressively
2011-10-03 13:21:29 -05:00
Matthew Flatt
a0378d956a fix place refcount
Originally, the refcount was either 0, 1, or 2, so a `char' was
enough. It's not enough now that place channels increment the
refcount.
2011-10-03 06:39:18 -06:00
Robby Findler
57042de4da add a test case that ensures that the default values of optional arguments
are not subject to the argument on the contract
2011-10-01 16:03:28 -05:00