The Racket repository
![]() While expanding a module, the root of module-relative references is a fresh notion of "this module". After expansion, "this module" is shifted to "an expanded module", which is a global constant (for top-level modules). When an expanded module is re-expanded, "an expanded module" is shifted to a fresh "this module" during re-expansion, and so on. One problem with this approach is that the shift from "this module" to "an expanded module" isn't applied to syntax properties --- but there's some extra trickery to make it work out by mutating "this module" to make it look like "an expanded module". Submodule expansion introduces an intermediate "parent of this module" that wasn't currently covered by the extra trickery, so fix that. |
||
---|---|---|
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.