The Racket repository
![]() This is a partial solution to the ~and problem, only for side clauses. In (~and p1 p2 p3), one often wants errors in p2 to take precedence over errors in p1, and likewise for p3 over p2. One solution is ~commit, but that prevents backtracking. Another is ~post, but then two ~post wrappers are needed around p3. Also, it doesn't make sense to compare progress of the third #:with clause from stxclass A to the second #:with clause of stxclass B and say third beats second. So, generalize 'post to (post group index); post frames are comparable to each other only if group is the same, then compared by index. (Post still beats CAR and CDR.) Each set of side clauses shares a group. For simplicity of code generation for now, use gensyms to identify groups. |
||
---|---|---|
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.