The Racket repository
![]() A reference to a local may be reduced in a branch to a constant, while it's unchanged in the other because the optimizer has different type information for each branch. Try to use the type information of the other branch to see if both branches are actually equivalent. For example, (if (null? x) x x) is first reduced to (if (null? x) null x) using the type information of the #t branch. But both branches are equivalent so they can be reduced to (begin (null? x) x) and then to just x. |
||
---|---|---|
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-2016 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.