The Racket repository
Go to file
Stevie Strickland 99bb46d225 Fix flat immutable container ctcs so that errors pinpoint specific elements.
* Fixes immutable container contract combinators so that, if given flat
   contracts, they report blame errors in terms of the specific element
   that failed, instead of reporting the entire container as failing.

   This fixes issues seen with contracts such as (listof string?), where
   the contract is applied to a list with far too many elements to print
   all at once and the failing element is never printed.

 * Fixes vector-immutable/c so that if all the element contracts are flat,
   we create a flat contract, like the other immutable container contract
   combinators.

 * Also have more appropriate first-order checks for each combinator
   than just "Is it the right type of container?".

These changes affect:
 listof
 non-empty-listof
 vector-immutableof
 cons/c
 box-immutable/c
 vector-immutable/c
2010-06-09 13:29:04 -04:00
collects Fix flat immutable container ctcs so that errors pinpoint specific elements. 2010-06-09 13:29:04 -04:00
doc note change to `apply' 2010-06-05 07:52:47 -06:00
man/man1 A lot of "MrEd" -> "GRacket"s. 2010-05-16 23:46:05 -04:00
src use simple-form-path more consistently for path normalization 2010-06-03 17:23:14 -06:00
.gitattributes Don't include git files in archives. 2010-05-12 01:46:05 -04:00
.gitignore Added DrDr house-calls directory to git-ignored files. 2010-06-07 23:00:17 -04:00
.mailmap Add a mailmap entry for Vincent 2010-05-21 16:09:31 -04:00
README Add a generic toplevel README file, make the bundle script use it. 2010-05-18 17:28:44 -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-enabled 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 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.LIB for more information.