The Racket repository
Go to file
Matthew Flatt 3eb2c20ad0 avoid excessive memory use in or expansion
When `or` has many subexpressions, the expansion generates a
sequence of deeply nested `let`s, where original and macro-introduced
forms are interleaved in a way that defeats a minimal
child-is-same-as-parent sharing of scope sets. Add a small
cache that's good enough to capture extra sharing and
dramatically lower memory use for an `or` that has 1000
subexpressions.
2015-10-23 16:32:22 -06:00
pkgs avoid excessive memory use in or expansion 2015-10-23 16:32:22 -06:00
racket avoid excessive memory use in or expansion 2015-10-23 16:32:22 -06:00
.gitattributes Don't include git files in archives. 2010-05-12 01:46:05 -04:00
.gitignore Ignore extra-pkgs/ 2014-12-04 10:44:14 -05:00
.mailmap mailmap updates & fixes. 2013-04-03 18:10:22 -04:00
.travis.yml Run the pkg tests on Travis. 2015-10-08 17:38:59 -04:00
appveyor.yml Fix missing space. 2015-07-17 13:23:10 -04:00
INSTALL.txt note on catalogs and building from a tag 2015-09-19 09:40:43 -06:00
Makefile Windows cross-build: fix over-agressive pruning of DLLs 2015-10-21 18:13:39 -06:00
README.txt adjust copyright dates: 2014 -> 2015 2015-10-05 13:39:11 -06:00

This is the source code for the main Racket distribution.  See
"INSTALL.txt" for information on building Racket.

License
-------

Racket
Copyright (c) 2010-2015 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.