The Racket repository
Go to file
Matthew Flatt 3b031d6c87 `define' + keyword lambda at top/module level => static checking
When `define' binds a keyword procedure at the top level or module
level, then it actually binds syntax that checks (i.e., warns
if arith or keywords are bad) and optimizes (i.e., avoids checking
keywords or allocating keyword-argument lists) first-order uses of
the procedure.

Checking and conversion are currently only performed for top-
and module-level bindings, because some macros detect the difference
between a variable or syntax definition --- notably `class' and
`unit'. A related problem in `class' is that the expansion
produces multiple definitions (for direct access to the fast
version of the function), which `class' turns into fields instead
of methods.
2011-08-09 16:33:15 -06:00
collects `define' + keyword lambda at top/module level => static checking 2011-08-09 16:33:15 -06:00
doc remove unsupported MDI styles and method 2011-08-04 08:02:54 -06:00
man/man1 removed drscheme man page 2011-04-21 19:38:30 -05:00
src use internal `equal?'-based table in atomic mode 2011-08-09 13:10:41 -06:00
.gitattributes Don't include git files in archives. 2010-05-12 01:46:05 -04:00
.gitignore Move the lncs ignore into its own directory. 2011-08-06 21:00:53 -04:00
.mailmap Added Guillaume's gmail address to mailmap 2011-07-14 12:06:01 -04:00
README Switch the license text from LGPLv2 to LGPLv2.1. 2011-05-27 18:09:55 -04:00

The Racket programming language
===============================

Important executables:

* DrRacket: Racket's integrated development environment (start here!).

* Racket: the main command-line entry point for running racket programs
  and scripts.

* GRacket: the GUI-mode Racket executable.

* raco: Racket's command-line toolset.


More Information
----------------

Racket comes with extensive documentation: use DrRacket's `Help' menu,
or run `raco docs'.  Also, visit us at http://racket-lang.org/ for more
Racket resources.

Instructions for building Racket from source are in src/README.


License
-------

Racket
Copyright (c) 2010-2011 PLT Scheme 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
doc/release-notes/COPYING.txt for more information.