Commit Graph

22496 Commits

Author SHA1 Message Date
Matthew Flatt
fba1777b8a fix contract 2011-08-02 06:48:54 -06:00
Matthias Felleisen
8e176bc275 added documentation for Carl's ... in the student languages; otherwise 2e dots in templates look ugly 2011-08-01 20:13:20 -04:00
Matthew Flatt
9a5bae277a set self modidx on primitive modules
which fixes a crash related to `module->namespace'
2011-08-01 15:16:04 -06:00
Matthew Flatt
7977d1817e expose the scribble' command-line driver as racket/render' 2011-08-01 14:40:49 -06:00
Matthew Flatt
5ef147397c add missing items to the release notes
Merge to 5.1.2
2011-08-01 13:15:17 -06:00
Matthew Flatt
86f4e5912b adjust `scriblib/figure' CSS for more consistent spacing 2011-08-01 13:14:43 -06:00
Matthew Flatt
8d3aa69e9d fix mismatch between make-base-eval' and make-base-eval-factory' 2011-08-01 04:01:40 -06:00
Matthew Flatt
c22c8b0846 remove incorrect comment 2011-07-31 06:28:12 -06:00
Matthew Flatt
2146a020c0 another error-message fix 2011-07-31 05:09:49 -06:00
Matthew Flatt
8a00308ad5 add lib' to setup/infotab' exports
and fix up documentation, which didn't mentioned the allowed
`require' form
2011-07-31 04:43:24 -06:00
Matthew Flatt
920867287b fix for/list' to use the new reverse' 2011-07-31 04:43:24 -06:00
Matthew Flatt
ec27cbfd90 fix problems related to futures and is-list flags on pairs
Although a future thread used an atomic compare-and-swap to
set "is a list" or "not a list" flag on pairs via the
JIT-implemented `list?', the hashing function in the runtime
thread did not; as a result, it might be possible to lose
a hash code due to cache inconsistency (although I'm not
sure it's actually possible, and I couldn't trigger a problem
with a test). Most of the changes are related to using
an atomic compare-and-swap when setting a hash code, as
well as clean-ups to related code. Processor-count tests
avoid using atomic compare-and-swap on uniprocessors, which
might not support the relevant machine instructions.

As significantly, the compare-and-swap operation for the
JIT-implemented `list?' did not actually set flags on
a pair that has a hash code. This could lead to `list?'
tests that were not constant time (but only if the relevant
pair's `eq?' hash code had been used previously).
2011-07-31 04:43:24 -06:00
Eli Barzilay
b644e335d9 Fix the docs for `call-in-sandbox-context'.
Closes PR 12081.
2011-07-30 09:33:24 -04:00
Robby Findler
a672704e5e add support for thread-safe compilation to compiler/cm (and use it in drracket) 2011-07-30 09:01:46 -04:00
Robby Findler
085b497b1c tidy up parallel build api docs 2011-07-30 09:01:44 -04:00
Jon Rafkind
7f3e434cb5 [honu] allow nested block comments 2011-07-29 18:42:55 -06:00
Jon Rafkind
cd5d0ee9a3 [honu] fix escapes in string literals 2011-07-29 16:59:48 -06:00
Jon Rafkind
7532515110 [honu] use regular expressions to lex comments 2011-07-29 16:59:48 -06:00
Jon Rafkind
cd62f1983f show line/column information for parsing errors 2011-07-29 16:59:48 -06:00
Vincent St-Amour
5f4c577d5b Get rid of pseudo-syntax. 2011-07-29 18:31:10 -04:00
Vincent St-Amour
4164b04324 Remove serialization. 2011-07-29 18:23:16 -04:00
Vincent St-Amour
0ff3aafed6 Speed up Performance Report on unsaved files. 2011-07-29 18:23:16 -04:00
Vincent St-Amour
191f7a5f17 Add an early failure case for portname matching. 2011-07-29 18:23:16 -04:00
Vincent St-Amour
30ea1afc58 Fix Performance Report on unsaved files. 2011-07-29 18:23:15 -04:00
Vincent St-Amour
aa235ac959 Use `call-with-sandbox-context'.
This should make it possible to avoid serialization.
2011-07-29 18:23:15 -04:00
Vincent St-Amour
7775779e6a Do expansion inside a sandbox. 2011-07-29 18:23:14 -04:00
Vincent St-Amour
ea1ae29e0f Have log entries carry pseudo-syntax instead of syntax.
Unlike syntax, pseudo-syntax is serializable, and it only carries the
information that Performance Report needs. Serializability is
necessary to be able to expand the program inside a sandbox and get
log entries out.
2011-07-29 18:23:14 -04:00
Vincent St-Amour
0951ad5b1b Add types for #%kernel's memq, memv and member. 2011-07-29 13:43:11 -04:00
Vincent St-Amour
88a3d93e9e Add a type for #%kernel's reverse.
Present in the expansion of for/list.
2011-07-29 12:54:29 -04:00
Vincent St-Amour
968f3b0905 Restore proper error handling. 2011-07-29 12:54:29 -04:00
Vincent St-Amour
d794d33b5e Go back to previous expansion strategy.
The DrRacket expansion functions don't offer anything more than plain
expand + a sandbox, and using them made the code less readable.

This reverts commit 96eee2b317.
This reverts commit 19ce4d44a5.
This reverts commit 58fbd8ba75.
This reverts commit b305ea9c62.
This reverts commit 860feb30ae.
2011-07-29 12:54:29 -04:00
Vincent St-Amour
5b22dfb6b0 Add for*/sum: and for*/product: to TR.
These currently don't play nice with inference, so they only work in
limited cases.
2011-07-29 12:54:29 -04:00
Vincent St-Amour
6a8011854b Add for/sum: and for/product: to TR. 2011-07-29 12:54:29 -04:00
Vincent St-Amour
5521e3ad5e Lock the top-level editor of the popup. 2011-07-29 12:54:28 -04:00
Eli Barzilay
7585edbcb6 xrepl improvments:
* a single function to set up all environment parameters.

* improve `getarg's treatment of default thunk

* Add an error display handler that doesn't show the context and instead
  add a ,bt command to show it.
2011-07-29 07:29:29 -04:00
John Clements
0bcff68226 minor testing changes 2011-07-28 22:51:00 -04:00
John Clements
b346665c5c updated history.
Merge to 5.1.2
2011-07-28 22:51:00 -04:00
John Clements
e178dbc4f2 unimportant tabbing fixup 2011-07-28 22:51:00 -04:00
Matthew Flatt
e6b4d547c9 fix problem with initialization of tag name array
The bug to lead to a crash from `(dump-memory-stats)'

Mrege to 5.1.2
2011-07-27 15:26:48 +01:00
Robby Findler
a26eb340c8 fix the parent of the 'can close this window?' messages for tabs that aren't the frontmost tab 2011-07-27 07:39:48 -05:00
Matthew Flatt
b78a1a8355 remove abbreviations for for/sum' and for/product' 2011-07-27 07:55:20 +01:00
Matthew Flatt
fae6e273ed lexer tweak to get named procedure 2011-07-27 07:55:18 +01:00
Matthew Flatt
7123996b30 change `eval-jit-enabled' initialization
to reflect whether JIT compilation is supported by the build
(i.e., set it to #f initially when the JIT is not supported)
2011-07-27 07:55:05 +01:00
Matthew Flatt
9ace663021 Racket-implemented reverse', member', memv', memq'
With the JIT, the `reverse' function is significantly faster,
while the `member' variants do not really change; the main
benefit is that the operations play well with futures.

The C implementation is still used when the JIT is unavailable,
since the Racket implementations can be much slower in
interpreted mode.
2011-07-27 05:47:46 +01:00
Matthew Flatt
f1160da419 add for/sum', for/product', etc. 2011-07-27 05:47:46 +01:00
Matthew Flatt
c6f1178be3 fix an error message 2011-07-27 05:47:46 +01:00
Robby Findler
344168690e likely fix for bug on mailing list that Matthias reported
("drracket fails to start up properly" Tue, Jul 26, 2011 at 2:12 PM)

  et fails to start up properly
2011-07-26 21:05:49 -05:00
Jon Rafkind
1e4c9b4ec3 use new reader for #lang honu 2011-07-26 17:41:07 -06:00
Jon Rafkind
ae6a69b8eb make syntax objects 2011-07-26 17:41:07 -06:00
Jon Rafkind
a39cd8773a refactor 2011-07-26 17:41:07 -06:00