Commit Graph

95 Commits

Author SHA1 Message Date
Robby Findler
092d98656c fix plai/gc2/mutator for the case where a lambda-bound
variable is shadowing something
2013-03-21 22:48:05 -05:00
Robby Findler
0e6975fb2c add 'values' to plai/gc2/mutator language 2013-03-21 22:48:05 -05:00
Eli Barzilay
af6be85ff5 Fix lots of indentation mistakes.
(Found by my ayatollah script...)
2013-03-14 10:55:47 -04:00
Robby Findler
e0aef0a575 fix two bugs in recent plai commit 2013-03-09 18:59:26 -06:00
Robby Findler
38f5823a59 adjust plai's gc2 language to use roots as the arguments
to gc:cons and gc:closure instead of passing locs

This enables the important change, namely that get-root-set
no longer returns roots corresponding to the arguments
of the allocation function that we're in the middle of.

This means that a common error students have (forgetting
to chase the 'hd' and 'tl' pointers in their GC) is
harder to make now, since get-root-set never contains
those locations as roots. (In the past you would have had
to write some pretty non-obvious mutator program to get
that behavior.)
2013-03-09 16:08:00 -06:00
Robby Findler
ba3e676057 adjust the expansion of #%module-begin so it doesn't
generate so much code

(Mostly to avoid pain with the macro stepper, but also
reducing the amount of code macros generates is good
for performance reasons)
2013-03-09 09:22:18 -06:00
Robby Findler
46eb91b578 fix a bug in the way let-values decided which variables are roots
also, Rackety
2013-03-09 09:22:18 -06:00
Robby Findler
3311387201 when anormalizing, never lift out identifiers from application expressions
The code used to avoid lifting identifier in more restricted circumstances,
but it seems safe to alway avoid that, which can lead to a lot
less lifting
2013-03-09 09:22:18 -06:00
Robby Findler
87f76e94f7 allow quote require forms in the argument to allocator-setup
This is mostly to better support test cases so that we
can set up namespaces that have specific collectors in them
(easiest to do with quote-based requires)
2013-03-09 09:22:17 -06:00
Robby Findler
0889133ca1 unbreak get-root-set 2013-03-07 13:52:37 -06:00
Robby Findler
9ef439d31f add in documentation for plai/gc2 2013-03-07 13:52:37 -06:00
Robby Findler
49ffca8fc2 remove ->address 2013-03-07 13:52:36 -06:00
Robby Findler
5c90a7ba83 adjust gc2's mutator language so that void-producing expressions
are allowed only in places where the value is discarded
2013-03-07 13:52:36 -06:00
Robby Findler
b0ed3b49e0 adjust plai test & co. to print only failing tests to stderr,
instead of printing all of them

also, adjust the plai test suites to cope with test results going
to two different places
2013-02-27 21:30:37 -06:00
Robby Findler
727d11df83 adjust plai's test facility to print test failures to stderr
instead of stdout (in addition to making errors red in drracket,
this will also make some of the existing test suites more
drdr friendly)
2013-02-27 19:20:26 -06:00
Robby Findler
478ec22d02 add with-roots to plai's gc languages 2013-02-26 12:41:25 -06:00
Jay McCarthy
b778e4e03c enabling shared in plai with some shameless copying of kernel code 2012-11-06 19:53:03 -07:00
Jay McCarthy
ffcda4741f Fixing a safe-for-space error that Robby found 2012-02-28 14:15:07 -07:00
Robby Findler
9ffc18a000 adjust plai's gc2/mutator so that primitive applications are
special and primtives not in an application position is a syntax error
2012-02-24 08:15:03 -06:00
Eli Barzilay
c007c345f9 A bunch of more typos like the ones in David's commit. 2012-02-21 14:21:43 -05:00
Robby Findler
7c3464f9d7 add marks on quoted identifiers so that, when they are used later, they bind properly 2012-02-20 21:30:24 -06:00
Robby Findler
7109e92b04 add gc2 support to random mutator 2012-02-20 15:29:00 -06:00
Robby Findler
3f5a45e904 fix broken vector->roots 2012-02-20 15:29:00 -06:00
Robby Findler
c42675f80c adjust gc2's mutator language:
- give names to user functions that matches the user's names
    (if the third bullet goes away, then the function
     mutator-lift needs to be adjusted so that it uses
     procedure-rename in order to preserve the improvement
     in this bullet)

  - change exn? to exn:fail? (to avoid catching break exns)

  - change lang so that primitives (the ones in the
    provide-flat-prims/lift declaration) are not allocated
    in the user's space (treat them as if they are constants)

    This change makes it easier to build up and explain the
    GC api, piece by piece. That is, you can first run a program
    that contains just a constant (and explain it) with only a
    subset of the api. Then you can do something like (+ 1 2)
    and explain it, both without getting into how procedures work.

    (This is helpful for the way I run my lectures)
2012-02-20 15:29:00 -06: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
e4755a5ffc New GC code 2012-01-04 19:55:24 -07:00
Eli Barzilay
a9b1f993d4 Remove redundant execution bit from some files, convert one CRLF file to LFs. 2011-12-01 03:54:32 -05:00
Jay McCarthy
36a408096c Fixing an error in quoting found by a student this year 2011-11-17 15:16:22 -07:00
Eli Barzilay
1db5ad97f8 Fix another bunch of "language" typos. 2011-08-26 05:26:46 -04:00
Eli Barzilay
3157955d40 ".ss" -> ".rkt" scan done. 2011-07-02 10:37:53 -04:00
Ryan Culpepper
1b702a2ae3 docs reorganization
added tutorial, racket categories
  relabeled some other categories
  normalized manual names: de-bolded, changed some names
2011-07-01 17:16:53 -06:00
Robby Findler
69b5daa9e6 remove docs tests that no one was interested in 2011-07-01 11:38:09 +08:00
Eli Barzilay
40124a0619 A long overdue scan to eliminate files without terminating newlines.
(DrRacket should really do that.)
2011-06-28 02:01:41 -04:00
Eli Barzilay
ac26fe7554 A ton of @scheme*' -> @racket*' and related updates.
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.
2011-06-25 04:08:47 -04:00
Eli Barzilay
debd1f9f1e Recketizing much in `net/*', mass ".ss" -> ".rkt" conversion in .scrbl files.
(Some other minor things here and there.)
2011-06-20 04:27:14 -04:00
Robby Findler
507b1cd8fd moved the docs-complete library into rackunit
to avoid having a separate, new manual for the
  one library
2011-05-05 16:10:42 -05:00
Robby Findler
06ed2045ae adjust check-docs so that the skipped exports are a parameter 2011-04-26 23:27:48 -05:00
Robby Findler
28200e733d adjusted the plai docs so that the mutator language has everything documented in a way scribble can understand 2011-04-26 11:27:28 -05:00
Robby Findler
e7d0029aea added lots of new tests that our documentation is complete 2011-04-25 13:24:43 -05:00
Ryan Culpepper
73ab167522 created racket/syntax from parts of unstable/syntax 2011-04-07 09:47:20 -06:00
David Van Horn
760a58b65d Fixes more spelling errors. 2011-02-04 19:44:13 -07:00
John Clements
d675c7b12a updated PLAI (and test cases) to use racket language rather than scheme 2011-01-20 10:21:22 -08:00
Jay McCarthy
f77ab71772 Fixing PR11592 2011-01-07 19:53:00 -07:00
Jay McCarthy
eecbc539c1 Fixing problem with previous "fix" to mutator-begin 2010-11-24 23:33:42 -05:00
Jay McCarthy
24dbffaf3b Fixing problem found at Brown 2010-11-17 04:58:09 -07:00
Jay McCarthy
69fb56189a datum doesn't need to be anfd 2010-10-28 16:07:52 -06:00
Jay McCarthy
ac4fb05f0c Correct error in mutator quote 2010-10-28 11:18:28 -06:00
Jay McCarthy
05832af083 Correct handling of procedure env roots in mutator 2010-10-28 11:18:27 -06:00