The Racket repository
![]() First bug: When the optimize converts (let-values ([(X ...) (values M ...)]) ....) to (let ([X M] ...) ....) it incorrectly attached a virtual timestamp to each "[X M]" binding that corresponds to the timestamp after the whole `(values M ...)`. The solution is to approximate tracking the timestamp for invidual expressions. Second bug: The compiler could reorder a continuation-capturing expression past an allocation. The solution is to track allocations with a new virtual clock. |
||
---|---|---|
pkgs | ||
racket | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.travis.yml | ||
appveyor.yml | ||
INSTALL.txt | ||
Makefile | ||
README.txt |
This is the source code for the main Racket distribution. See "INSTALL.txt" for information on building Racket. License ------- Racket Copyright (c) 2010-2014 PLT Design Inc. Racket is distributed under the GNU Lesser General Public License (LGPL). This implies that you may 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 states that you must release the source code for the modified software. See racket/src/COPYING_LESSER.txt for more information.