![]() Both function have a similar purpose and implementation, so merge them to consider all the special cases for both uses. In particular, detect that: (if x (error 'e) (void)) is single-valued (with-continuation-mark <chaperone-key> <val> <omittable>) is not tail sensitive. Also, as ensure_single_value was checking also that the expression was has not a continuation mark in tail position, it added in some cases an unnecessary wrapper. Now ensure_single_value checks only that the expression produces a single vale and a new function ensure_single_value_noncm checks both properties like the old function. |
||
---|---|---|
pkgs | ||
racket | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
.travis.yml | ||
appveyor.yml | ||
INSTALL.txt | ||
Makefile | ||
README.md |
This is the source code for the core of Racket. See "INSTALL.txt" for full information on building Racket.
To build the full Racket distribution from this repository, run make
in the top-level directory. To build the Minimal Racket, run make base
.
The rest of the Racket distribution source code is in other repositories under the Racket GitHub organization.
Contribute to Racket by submitting a pull request, joining the development mailing list, or visiting the IRC channel.
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.