Commit Graph

24617 Commits

Author SHA1 Message Date
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
e8beac29cf added notes for recent redex changes 2012-01-02 10:08:32 -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
0a2262bea5 history updated for game pad 2011-12-31 11:28:12 -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
Matthew Flatt
12baa07e7e fix missing initialization 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
Robby Findler
9bcb86eb0c redex: minor cleanup 2011-12-29 10:15:52 -06:00
Robby Findler
5b2d378a77 fixed a bug in recent Redex internal pattern rewrite
(discovered by the random testing done for the racket machine model)
2011-12-28 23:52:56 -06:00
Matthew Flatt
4fe30cf433 fix cross-module inlining for multi-arity functions
First use of the function was determining a single arity for
the enclosing module, and that arity could trigger warnings
in addition to failures to inline. For example, using `map'
on 3 arguments would trigger incorrect warnings for later
uses of `map' on 2 arguments.
2011-12-28 20:35:53 -06:00
Eli Barzilay
753fd77858 Minor typo.
Closes PR12463
2011-12-28 21:09:45 -05:00
Eli Barzilay
3fcd3c04d5 Minor typo in recent new regexp. 2011-12-28 21:07:25 -05:00
Eli Barzilay
064a914fb2 Complete set of mailman template files.
This covers all of the html files in mailman's template directory, and
we should have a consistent look for all pages.  (Including archived
messages.)  Also tweak the front page to have a link to the mailman
"listinfo" page with the complete list of the hosted mailing lists.
2011-12-28 21:07:25 -05:00
Eli Barzilay
1160e423e2 Add a timeout to the ftp poll.
This is because the ftp mirror tends to become unresponsive often, but
it takes a huge amount of time to actually get a tmeout.
2011-12-28 21:07:24 -05:00
Eli Barzilay
fa4c073b9e Adjust meta/web' for changes in scribble/html'.
Add a `resource/referrer' abstraction for referrers, on top of plain
resources.  (When the referrer is `values', it just returns the plain
resource.)  Also add `url-of' to replace `get-resource-path'.
2011-12-28 21:07:24 -05:00
Eli Barzilay
787f3151de Make a `resource' struct so it is identifiable.
(Also, change a `define-struct' to a `struct'.)
2011-12-28 21:07:24 -05:00
Eli Barzilay
180651d04d Remove the `referrer' argument from resources.
This turned out to be a bad idea.  The thing is that some resources need
to be referred to in multiple ways -- for example, different texts in
links of different kinds, or using the URL directly in some cases.  The
existence of `get-resource-path' is a witness for this problem, since it
was used for such cases -- this function is removed as well.

There's no point in trying to generalize this here: instead, go back to
a simpler system where a resource always returns its URL (with an
optional argument to get an absolute URL).  When a `referrer'
functionality is needed, build it on top of that, in a place where it
makes more sense.  (That is, in a specific code for generating content,
where there could be a decision that resources have plain links and also
a very short link for use in navbars.)  Otherwise, it's usually simpler
to just define resources and referrers separately (as different
bindings, the latter uses the former).
2011-12-28 21:07:24 -05:00
Eli Barzilay
1cd8e6cbf3 Remove the referrer argument from copyfile' and symlink', and remove
the unused `content-resource' (it is not necessary).
2011-12-28 21:07:24 -05:00
Eli Barzilay
c8c13e46bb Switch delay's to lazy's. 2011-12-28 21:07:24 -05:00