The Racket repository
![]() This program runs about 10x faster than it did before this commit, but seems to still be about 100x slower than the version where you change an-s to just be (s). #lang racket/base (require racket/contract/base racket/generic) (define-generics id [m id x]) (struct s () #:methods gen:id [(define (m g x) x)]) (define an-s (contract (id/c [m (-> any/c integer? integer?)]) (s) 'pos 'neg)) (time (for ([x (in-range 100000)]) (m an-s 2))) |
||
---|---|---|
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-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.