The Racket repository
![]() Improves tests/typed-racket/succeed/new-metrics.rkt by about 33% overall runtime. Major changes include: - Handling memoization entirely inside the `subtype*` function. - Remembering only previously seen pairs of types when one of them might be a recursive type (such as Mu or a structure). Thanks to Ryan Newtown for this this idea, which enables the previous change as well. - Doing as much as possible without touching parameters. (Unfortunately, not as much as I hoped was possible here). - Replacing uses of => in `match` with #:when (written for this purpose). - Significant improvement to the `Type-key` system so that it is useful much more often. - Use of unsafe operations. - Minor optimizations to a few other operations. |
||
---|---|---|
native-pkgs@5f391155f2 | ||
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-2013 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.