The Racket repository
Go to file
Matthew Flatt 4d76aa2040 place channels & threads: improve GC
Allow a thread to be GCed when it is blocked on a place
channel for reading and the place channel's write end
is inaccessible.

GC is limited to threads that do not participate in cycles
of such threads, where the otherwise unerachable threads
are blocked on place channels that are reachable among the
set of threads. In other words, the GC finds the greatest
fix point (as measured by the threads to retain) instead of
least fix point --- which isn't what you want, but finding
the least fix point seems to require significant extra GC
machinery across places.

This improvement was intended to solve the same problem as
commit 7b0608c, but that case seems to run into the limitation
on cycles.
2013-03-25 05:15:24 -06:00
collects place channels & threads: improve GC 2013-03-25 05:15:24 -06:00
doc support boxes in syntax patterns and templates 2013-03-21 09:06:15 -06:00
man/man1 Remove old packages 2012-07-13 15:43:59 -04:00
src place channels & threads: improve GC 2013-03-25 05:15:24 -06:00
.gitattributes Don't include git files in archives. 2010-05-12 01:46:05 -04:00
.gitignore Moved default location for compiled-root for easier tab-completion of "collects/". 2012-09-26 14:50:31 -04:00
.mailmap Another email for Matthew. 2012-11-07 11:22:19 -05:00
README "PLT Scheme Inc" -> "PLT Design Inc" 2013-02-12 08:06:30 -05:00

The Racket Programming Language
===============================

Instructions for building Racket from source are in src/README.

The main executables in this package:

* DrRacket: Racket's integrated development environment (start here!).

* racket: command-line tool for running Racket programs.

* raco: command-line tool for compilation, documentation, and more.


More Information
----------------

For Racket documentation, use DrRacket's `Help' menu, run the `Racket
Documentation' application (Windows or Mac OS X), or run `raco docs'
from a command line.

Visit us at
   http://racket-lang.org/ 
for more Racket resources.


License
-------

Racket
Copyright (c) 2010-2013 PLT Design Inc.

Racket is distributed under the GNU Lesser General Public License
(LGPL).  This means that you can link Racket into proprietary
applications, provided you follow the rules stated in the LGPL.  You can
also modify Racket; if you distribute a modified version, you must
distribute it under the terms of the LGPL, which in particular means
that you must release the source code for the modified software.  See
doc/release-notes/COPYING.txt for more information.