The Racket repository
![]() A tail call with certain kinds of primitives would fail to clear local bindings in a detectable way. For example, a tail call to `sync' that blocks could retain references to unreachable data in the context of the `sync' call. Primitives that can cause problems in the run-time system are already identified as "imemdiate" primitives. The safe-for-space pass now inserts clearing actions before a tail call, unless the call it to a known immediate primitive or a Racket-implemented function. Clearing operations are now omitted before non-tail calls to immediate operations like structure predicates. The newly added clearing operations could affect performance, but they probably won't, since the clear operations are still avoided in tail-call cases that are otherwise fast. The newly omitted clearing operations may improve performance. |
||
---|---|---|
collects | ||
doc | ||
man/man1 | ||
src | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
README |
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.