Commit Graph

20793 Commits

Author SHA1 Message Date
Vincent St-Amour
2f0fbdba21 Union types instead of clobbering them in the type table.
This fixes a bug where only the last branch of a case-> type would get stored.
(cherry picked from commit 87a53159dd)
2012-01-16 08:18:08 -07:00
Matthew Flatt
259913ee83 fix `find-files' to convert an initial string into a path
Merge to 5.2.1
(cherry picked from commit 60c418b20e)
2012-01-16 08:18:03 -07:00
Neil Toronto
ed172a81fa Removed accidental dependence of images/icons/stickman on racket/gui
Began scribble docs

Added `compiled-bitmap' and `compiled-bitmap-list', which embed bitmaps
computed at expansion time into compiled files (safe 3D values)

Please merge into release
(cherry picked from commit 4d1cedc913)
2012-01-16 08:17:58 -07:00
Neil Toronto
2f6193a7f8 Text icon fix - works better when trimmed
Recycle icon (text icon of string "\u267b")

Removed debug output from plt-logo

Slightly faster bitmap <-> flomap conversion (uses bitmap%'s premultiply-alpha)

Please merge into release
(cherry picked from commit 5dcfd76927)
2012-01-12 16:39:01 -07:00
Neil Toronto
d637be4b71 Use running stickman in lower-right "run" indicator
Please merge into release
(cherry picked from commit 436a1dcb71)
2012-01-12 16:38:58 -07:00
Neil Toronto
4603785afe Added standing and running stickman icons
Optimize rendering by looping only over the smallest rectangle with nonzero alpha

Please merge into release
(cherry picked from commit 2313b528c4)
2012-01-12 16:38:54 -07:00
Robby Findler
09ad681027 fix call to message box to remove incorrect style flag
merge to the release branch, please
(cherry picked from commit e067a4415a)
2012-01-11 16:09:42 -07:00
Robby Findler
42698ef9c5 relax the contract to match what the server actually needs
closes PR 12476

merge to the release branch, please
(cherry picked from commit 5e80753b48)
2012-01-11 16:09:38 -07:00
Robby Findler
ca73b0569d tweak the printing of syntax errors again so the "in:" part is in tt font
merge to the release branch, please
(cherry picked from commit 9aecc08579)
2012-01-11 16:09:32 -07:00
Robby Findler
e6285227f1 Change 'bitmap' to use collection-file-path (with its new #:fail) argument,
so that it picks up linked collections.

closes 12424

merge to the release branch, please
(cherry picked from commit d93818dd61)
2012-01-11 16:09:26 -07:00
Matthew Flatt
b7b273895a fix bytecode optimizer bugs
Certain unsafe operations were allowed to propagate across a
`lambda' boundary (where space safety is known not to be an issue),
which could lead to duplicate uses of a "once used" variable if
the relevant `lambda' is inlined.

Furthermore, `lambda' boundary crossing wasn't detected in the case
that the operation to propagate was propagated through an intermediate
variable without a `lambda' crossing.

Merge to 5.2.1
(cherry picked from commit 7850a26dfe)
2012-01-11 16:09:22 -07:00
Neil Toronto
0cfbbb9bdf Better debugger icon bomb
(cherry picked from commit 5736695bae)
2012-01-11 16:09:18 -07:00
Neil Toronto
789756eb60 Rewrote flomaps and rendering in Typed Racket for speed and safety
(cherry picked from commit daf3ed55ba)
2012-01-11 16:09:13 -07:00
Neil Toronto
c8c8fdf360 Contract fix
(cherry picked from commit be4bfdff4c)
2012-01-11 16:09:08 -07:00
Neil Toronto
9146b151d8 Caching with weak boxes, cleanup, planet download icon
(cherry picked from commit 6ec78137e3)
2012-01-11 16:09:02 -07:00
Robby Findler
9e272a2359 fix bug in lw struct generation
(cherry picked from commit f1a7864c63)
2012-01-10 13:13:34 -07:00
Matthias Felleisen
a1cb9a8c85 replaced gamepad image with higher resolution version
(cherry picked from commit d9176df246)
2012-01-10 13:13:30 -07:00
Matthew Flatt
f1a1670a74 protect `raco setup' from files in linked collection dirs
Patch by Jay McCarthy.

Merge to 5.2.1
(cherry picked from commit d56d28f0b6)
2012-01-09 17:01:09 -07:00
Matthew Flatt
469b21d28d fix problem printing symbols with unicode chars
Specifically, special-casing letters (such as sigma) were not
handled correctly.

Merge to 5.2.1
(cherry picked from commit 8b54dc43c8)
2012-01-09 17:01:04 -07:00
Matthew Flatt
8a17b5bf32 add #:fail' option to collection-file-path' and `collection-path'
This is mostly the same as commit 23010fc495,
but the version-number and "cstartup.inc" changes have been adjusted to
work with the release branch.
2012-01-09 16:40:13 -07:00
Robby Findler
8df51241ff add check-redundancy, a parameter that causes redex to print some
debugging information about ambiguous matching (when the ambiguity
matters)
(cherry picked from commit 6cacd57ebc)
2012-01-09 16:02:51 -07:00
Robby Findler
a8cf31779f redex: misc cleanups:
- remove cache instrumentation code
 - make hole->not-hole parsimonous
 - change the cache size back to 63
(cherry picked from commit a12df9cea6)
2012-01-09 16:02:44 -07:00
Robby Findler
7949ede5d5 removed ambiguity from the cont-mark-transform's "a" non-terminal
Redex no longer has extra checks to eliminate redundant matches
(as those checks are prohibitively expensive for the lambdajs model)
so redundancy in the grammar can, when combined with context
decomposition or named patterns, lead to significant slowdowns
(cherry picked from commit 0c6e0a11cf)
2012-01-09 16:02:33 -07:00
Robby Findler
8bba1f2455 tweak the compiled representation of lw structs so they take less space
this shrinks the size of redex/examples/r6rs/r6rs.rkt's .zo file by about 25%
(cherry picked from commit 4fab7f76af)
2012-01-09 16:02:26 -07:00
Robby Findler
0b65f9989f redex: adjust the test suites to clean up a few things; also make the
hole and the-not-hole equal? to each other (like they used to be)
(cherry picked from commit 2afda360d0)
2012-01-09 16:02:19 -07:00
Robby Findler
1115549408 added a cycle check to define-language so grammars like this one:
(define-language L
     (e e))

are rejected as syntax errors
(cherry picked from commit 93c21e34de)
2012-01-09 16:02:13 -07:00
Eli Barzilay
e83af6c94b * Fix showing branch in non-master builds.
* Show error in last status, so it's visible later.

* `show' can get a `-s' flag too.

* Remove unused `append_dots'.
(cherry picked from commit d539792895)
2012-01-09 16:02:02 -07:00
Eli Barzilay
becd6bad7b ntoronto is responsible for images.
(cherry picked from commit 536f89926f)
2012-01-09 16:01:51 -07:00
Ryan Culpepper
f9339d6903 restore some of deleted unstable docs into web-server-internal docs 2012-01-08 23:25:53 -07:00
Ryan Culpepper
dba35c3116 db: added nested transactions 2012-01-08 23:25:53 -07:00
Ryan Culpepper
62e117bfe6 added tests for srfi/13 from SXML codebase 2012-01-08 23:25:53 -07:00
Eli Barzilay
62213b9f28 Allow cross-site use of the status script.
Also a random header change, and adjust cache frequency.
2012-01-08 21:59:04 -05:00
Eli Barzilay
b24e0d52ea Another typo. 2012-01-08 15:23:34 -05:00
Matthew Flatt
7153fbd4d5 net/mime: allow any subtype, exns as exn:fail subtypes; doc fixes 2012-01-08 12:14:51 -07:00
Robby Findler
fbed2d5af7 remove (broken) attempt at optimization Jay suggested
also clean up some test cases that I wasn't sure about earlier
2012-01-08 12:13:37 -06:00
Robby Findler
0459e4fbcd redex: when there are no duplicate names in a pattern, don't do the
same-name-same-bindings check

this seems to speed up the r6rs test suite by about 12% and the
lambdajs benchmark by about 25%
2012-01-08 12:13:36 -06:00
Robby Findler
ddecad0575 redex: adjust the way metafunction tracing is printed so you
don't see (list 'lambda (list 'x) 'x) but instead (lambda (x) x)
2012-01-08 12:13:36 -06:00
Eli Barzilay
86579b4f15 Yet more tweaks and fixes. 2012-01-08 12:58:50 -05:00
Robby Findler
95ac3c86f7 fixed bug in the way aug:keymap extracts the names
now it should return only the canonical names of the keybindings
(instead of potentially returning both the canonical and
non-canonicalized names)
2012-01-08 07:07:56 -06:00
Robby Findler
3bc1e8f3c0 Change the keybindings dialog to be a frame, and make it react
to changes in focus

closes PR 12474
2012-01-08 06:55:50 -06:00
Eli Barzilay
e0275b95ba Drop Infogroep mirror.
(Keeps timing out.)
2012-01-08 03:36:50 -05:00
Eli Barzilay
107615f1fe Some more improvements and fixes. 2012-01-08 03:36:50 -05:00
Matthew Flatt
9389947f6f clarify docs on is-enabled?' and is-shown?' 2012-01-07 21:17:12 -07:00
Matthew Flatt
fd019a3478 add on-subwindow-focus' to window<%>'
relevant to PR 12474
2012-01-07 21:17:12 -07:00
Matthew Flatt
9ff30672fc add deprecation note for the ActiveX part of MysterX 2012-01-07 21:17:12 -07:00
Robby Findler
78ac4d3d27 fix syntax error message display for new way that drracket's ports handle printing of snips 2012-01-07 21:04:26 -06:00
Ryan Culpepper
ca3584452e update dist specs for icons fix, new images collection 2012-01-07 17:55:54 -07:00
Neil Toronto
89a5afa96d Purged last SVG file 2012-01-07 16:32:56 -07:00
Neil Toronto
1a00d2d51f Last icon rewrite!
This removes all the SVG sources, parsing, and marked-layer colorizing, the PNG binaries in the distribution, and the dependence of DrRacket on `slideshow/pict'.

Icons are now produced by drawing on a bitmap-dc%, inferring or building a z map, choosing a material, and sending these to a two-pass ray tracer. This is for the most part hidden behind an API consisting of functions from colors and optional sizes and materials to `bitmap%'s.

Contracts and documentation forthcoming.
2012-01-07 16:18:11 -07:00
Philippe Meunier
67beec3ae9 Updates French translation file and fixes small mistake in English one. 2012-01-08 04:25:16 +09:00
Eli Barzilay
465a8da995 Add status script. 2012-01-07 09:35:15 -05:00
Eli Barzilay
efc5a05049 Delete build directory at the start of a dispatched build.
Previously, if a dispatched build failed the files from the previous
build would still get copied.  This was an intentional feature, since
only the compiled binaries of these builds are used, and usually these
would work fine (with the zo files that were built on the main machine).

Now, the build directory is deleted when starting, which means that any
failure in a remote build means that the whole build will fail.  This
turns out to be better since when there are problems, the previous
behavior could be very confusing.  In addition, the racket setup itself
rarely fails, so this won't make a difference.
2012-01-07 09:35:14 -05:00
Eli Barzilay
ecf42d077b More build improvements.
* Use `ssh' to copy the repo tgz, so it can also create the build
  directory in a single connection.

* Use "racket" in the build materials directory name (since it's used in
  random machines).

* Use `chcon' to make files accessible to the web server under selinux.

* "YYYY-MM-DD HH:MM" in log time strings (leave the one on the web page
  as is).

* Uniform machine+platform labels in headers on dispatched builds.  The
  main build machine doesn't have them.
2012-01-07 09:35:14 -05:00
Eli Barzilay
e0dc712002 Add a status file.
On dispatched builds the status is printed in their own logs in a
greppable way, and these lines are removed when these logs are displayed
as part of the main log.
2012-01-07 09:35:14 -05:00
Eli Barzilay
62abe242f2 Better tmp filenames, since it's in a "racket" directory. 2012-01-07 09:35:14 -05:00
Eli Barzilay
6616d53831 More robust use of `$htmloutput'. 2012-01-07 09:35:14 -05:00
Eli Barzilay
aa0c90a2a0 Cleanup using `$tmpdir', and set it to a subdirectory of /tmp. 2012-01-07 09:35:14 -05:00
Eli Barzilay
13db1c1a08 Simplify `port-success-choose': no need for the first argument with the
full match, since it can be taken from the `ms' list.  (Also, some minor
reformatting.)
2012-01-07 09:35:14 -05:00
Robby Findler
e0a72fab7d did some refactoring to prepare for making the keybindings dialog
be a frame and react to changes in focus of the main drracket window.

didn't finish because there does not seem to be an equivalent to
on-subwindow-focus that lets the frame detect when one of its
children gets the focus.

related to PR 12474
2012-01-07 07:11:59 -06:00
Robby Findler
950d165133 fix the not-a-language message so that the styles in the REPL are right 2012-01-06 20:59:34 -06:00
Vincent St-Amour
631c145add Change Performance Report popups to frames instead of dialogs.
This fixes the lack of close button on mac.
2012-01-06 15:59:23 -05:00
Vincent St-Amour
076648fecc Improve documentation the TR numeric tower. 2012-01-06 13:19:14 -05:00
Vincent St-Amour
f50008280b Export Negative-Fixnum. 2012-01-06 13:19:14 -05:00
Vincent St-Amour
4556ea2992 Fix log's type for Real inputs. 2012-01-06 13:19:14 -05:00
Matthew Flatt
c1ceebb92a fix cfg-parser' to more closely match parser' 2012-01-06 10:43:10 +01:00
Robby Findler
20bcf80e8b add a check to make sure we don't try to select a teachpack when the
user clicks on empty space

closes PR 12472
2012-01-05 23:04:07 -06:00
Jay McCarthy
061007f30f Fixing last dumb mistake? 2012-01-05 14:57:08 -07:00
Jay McCarthy
0bf92dbc29 Forgot to update props for GC2 2012-01-05 13:23:12 -07:00
Jay McCarthy
c2355caef6 Finalizing initial pass on GC2
It was not a problem with the particular collector. All allocation
sites need to update the gc-roots-key with their static information.
2012-01-04 19:55:24 -07:00
Jay McCarthy
55e1df1445 See last commit 2012-01-04 19:55:24 -07:00
Jay McCarthy
caf83b911b Initial pass on adding manual closure management
There are still five errors, but they seem to be errors in the sample
collector. But I need to find out.
2012-01-04 19:55:24 -07:00
Jay McCarthy
f80292b4cf Converting mutators 2012-01-04 19:55:24 -07:00
Jay McCarthy
e4755a5ffc New GC code 2012-01-04 19:55:24 -07:00
Robby Findler
7fb3d5c395 improve the red highlighting in drracket so that it picks
the first thing in the stack that's in the definitions window
(instead of just the first thing in the stack period)
2012-01-04 10:59:42 -06:00
Jay McCarthy
ef1278d6e1 Adding radio and checkbox groups to formlets 2012-01-03 15:05:37 -07:00
Jay McCarthy
4271fe4231 Improve formlet docs a little
Clarify that the formlet position is any expression.
2012-01-03 15:05:37 -07:00
Jay McCarthy
022ce2d8d7 Fixing PR12443
There is a big comment in thread.rkt that explains the problem and the
"fix". I think something better could and should be done, but I don't
know what it is.
2012-01-03 15:05:37 -07:00
Robby Findler
160fcacad6 redex: fix bug introduced in recent optimization attempts 2012-01-02 22:21:21 -06:00
Robby Findler
83758881c3 Don't attempt to drop duplicates in the non-terminal case
This speeds up the lambdajs model considerably because the computation
to determine duplicates is expensive and no duplicates are really
ever dropped (and, in general, I think that duplicates will only
be dropped when the grammar is ambiguous; so maybe a better thing
is to just rewrite the grammar when that happens)
2012-01-02 10:08:34 -06:00
Robby Findler
6bf42855b8 adjust plug to be parsimonious and actually shortcircuit
when one hole has been found

This improves the lambdajs model example's running time, presumably
because the hole is generally found near the "beginning" of the
term
2012-01-02 10:08:33 -06:00
Robby Findler
5dcbedc768 redex: adjust the caching strategy
Instead of using a hash-table, use the equal-hash-code directly;
this lets me evict entries only when they clobber each other,
and generally keep good cache utilization.

Also, cut the cache size by a factor of 5 while still having a
slight performance improvement on the r6rs test suite benchmark.
On that same benchmark, there are 1714812 misses in the cache, but
only 3485 times is an entry in the cache clobbered
2012-01-02 10:08:31 -06:00
Robby Findler
a6a01fd7b8 redex: fix arity-1 cache key computation 2012-01-02 10:08:31 -06:00
Robby Findler
a7a70cbca9 redex: improved the definitely-not-list definitely-not-non-list
computation to be more accurate
2012-01-02 10:08:30 -06:00
Robby Findler
fe1df742b3 Tried to improve redex by detecting when a pattern does not
have any holes, hide-holes, or names and, in that case, just
combining booleans instead of building of mtch structs.

This does seem to work on a simple benchmark. The code below
gets about 6x faster. But on the r6rs test suite, there is
no substantial change (possibly because the caching obviates
this optimization?)

lang racket/base
(require redex/reduction-semantics)
(caching-enabled? #f)
(define-language L (e (+ e e) number))
(define t
  (let loop ([n 100])
    (cond
      [(zero? n) 1]
      [else `(+ 11 ,(loop (- n 1)))])))
(define f (redex-match L e))
(time (for ([x (in-range 1000)]) (f t)))
2012-01-02 10:08:29 -06:00
Robby Findler
6f97a3a783 disable attempt at Jay's optimization
When I enabled this, I don't see any speedup, on the R6RS test suite
benchmark (I see minor slowdown). Here are the numbers I get, on my
laptop:

   nt cache:  35537 msec
    neither: 844933 msec
 Jay's idea: 875306 msec

And with both on, I see a similar, minor slowdown (as compared to the
version with the nt cache).

The main difference seems to be that I'm getting about 6 "hits" per
test case on the nt-match structs (that is, I avoid work by finding an
nt-match struct) and I'm getting about 8,800 hits in the cache per
test case.
2012-01-02 10:08:29 -06:00
Robby Findler
424a535cf4 first attempt at Jay's optimization for redex
(only did enough to get the r6rs tests running)
2012-01-02 10:08:28 -06:00
Matthew Flatt
2b2c44774f fix scheme_basic_env() reset behavior
Also, fix test to that it DrDr will run it.
2012-01-02 15:03:49 +01:00
Matthew Flatt
03808d245c fix typo
reported by ozzloy
2011-12-31 17:03:50 -07:00
Eli Barzilay
3718600125 2011 -> 2012 2011-12-31 15:16:59 -05:00
Eli Barzilay
4d5ba08653 lambda' -> λ' 2011-12-31 14:24:41 -05:00
Matthias Felleisen
32b7a1b418 created pad=, exported it, documented game pad minimally 2011-12-31 11:28:11 -05:00
Matthias Felleisen
b0de0e126e an interactive test for various game pad configs 2011-12-31 11:28:11 -05:00
Matthias Felleisen
5867589993 initial stage of game pad, need to turn play file into test 2011-12-31 11:28:10 -05:00
Matthias Felleisen
c221131254 scheme/racket cleanup 2011-12-31 11:28:10 -05:00
Matthew Flatt
fb46daafa0 fix typo
Reported by J. Ian Johnson
2011-12-31 06:32:13 -07:00
Matthew Flatt
2ebff14e3e fix typo 2011-12-31 06:32:13 -07:00
Robby Findler
f4b4e00c55 added bitmap/file
closes PR 12466
2011-12-29 22:18:07 -06:00
Robby Findler
4c86e2fe86 redex: memoize only the non-terminal patterns
remarkably, this seems to cut the time for running
the r6rs test suite in about 1/2
2011-12-29 11:01:21 -06:00
Robby Findler
57f51cf5c8 redex: use predicate/c instead of (-> any/c boolean?)
and a few other, minor changes
2011-12-29 10:58:26 -06:00
Robby Findler
d6ce2b61bc redex: inline lookup-binding 2011-12-29 10:32:02 -06:00