The Racket repository
![]() The `(letrec ([x x]) x)` pattern for getting the undefined value will cease to work in a near-future version of Racket (ater v6.0.1). Instead, the initial refernce to `x` will produce a "variable used before its definition" error. For libraries that need an "undefined" value, this new library provides `undefined`, and the library will continue to work in future Racket versions. The library also provides a `check-no-undefined` operation that normally should be wrapped around an expression to keep it from producing `undefined`. For example, the class system initializes object fields with `undefined`, but it could (and will, eventually) wrap each access to a field within `class` to check that the field's value is not `undefined`. |
||
---|---|---|
native-pkgs@b698e73c35 | ||
pkgs | ||
racket | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
.mailmap | ||
.travis.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 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 racket/src/COPYING_LESSER.txt for more information.