Subject: CVS commit: pkgsrc/lang
From: Aleksej Saushev
Date: 2013-02-10 02:54:27
Message id: 20130210015427.320D5175DD@cvs.netbsd.org

Log Message:
Update to Racket 5.3.2

Changes in Racket v5.3.2

Core Libraries:

* The new `math' library provides functions and data structures for
  working with numbers and collections of numbers.  Functions include
  non-elementary (such as gamma, zeta, Lambert's W), number-theoretic
  (factorization, modular arithmetic), linear algebra (arithmetic,
  decompositions), and statistical (expected values, order statistics,
  binning).  Data structures include arbitrary-precision bigfloats,
  probability distributions, and multidimensional arrays.

* The new `file/untar', `file/untgz', and `file/unzip' libraries support
  unpacking widely used archive formats.

* The new `lazy-require' form allows programs to delay the loading and
  instantiation of helper modules until they are needed.

* The new `data/bit-vector' library provides an implementation of bit
  vectors (a mutable sequence of booleans) supporting popcount.

* The `racket/generic' library allows the specification of default
  method implementations for core datatypes.

* The `openssl' library can verify hostnames and use the operating
  system's certificate store to verify certificates.

Package System:

* A new package system is in beta release.  This system will become
  Planet's successor.  It differs significantly from the latter.  For
  details, please read the documentation at
  http://docs.racket-lang.org/planet2/ and list your packages on the new
  index at https://pkg.racket-lang.org/.

* The `raco test' command supports testing by collection and package, in
  addition to by directory and file, with the "-c" and "-p" \ 
options.

Teaching Libraries:

* batch-io: the read and write functions work on Unix-style standard
  input and output.

DrRacket:

* DrRacket's GUI is more responsive.

* The automatic parenthesis insertion mode is improved.

Scribble:

* Scribble renders Markdown format files via the "--markdown"
  command-line flag.  Example use case: Generate documentation hosted on
  GitHub or BitBucket.

* Documentation cross-reference information is stored in an SQLite3
  database, which means that SQLite3 is required for building Racket
  documentation on Unix/Linux machines (but SQLite3 is included in
  Racket distributions for Windows and Mac OS X).

  Using a database for cross-reference information significantly reduces
  the initial footprint of DrRacket, since DrRacket no longer needs to
  load all cross-reference information.

Typed Racket:

* Typed Racket programs can require `plot/typed' to draw plots.  List-
  and vector-accepting functions accept general sequences.

* Typed Racket supports Racket's delimited continuation and continuation
  mark operators.

Redex:

* Added more support for `define-judgment-form', including random
  generation for well-formed judgments and visualization of judgments.

Deprecation:

The following have been removed in this release:

* the `planet' command-line tool; use `raco planet' instead.

The following has been deprecated and will be removed in the August 2013
release:

* the `mzlib/class100' library; use `racket/class' instead.

Changes in Racket v5.3.1

Racket:

* The `case' form dispatches on characters, fixnums, symbols, and
  keywords in logarithmic time.  (Thanks to Jon Zeppieri.)

* The new `racket/format' library provides new and improved
  string-formatting functions.

* Logging tools include improved filtering support based on the name
  of a logger.  A new `define-logger' form simplifies the use of
  named loggers.  Forms such as `log-debug' now support string
  formatting.

* The `for' forms now support `#:break' and `#:final' clauses.

* The new PLTCOMPILEDROOTS environment variable configures the
  search path for compiled bytecode.

DrRacket:

* Check Syntax now summarizes the documentation (i.e., the blue
  boxes) for the identifier at the insertion point in the top-right
  corner of the definitions window.

* Check Syntax now runs continuously for programs that declare their
  language within the source.  This mode has been available for
  several of the past releases, but now enabled by default.

* DrRacket can spell-check string constants (enable this in the Edit
  menu).

Typed Racket:

* Typed Racket interprets the Any type as a different contract.
  This may signal dynamic errors in some existing mixed
  typed/untyped programs.  The normal fix is to replace a use of Any
  with a more specific types.

* NaN is included in all of Typed Racket's floating-point types,
  which makes precise floating-point types easier to use.

* Typed Racket supports a `cast' operation with support for
  higher-order types.

* Typed Racket provides the `:query-type/args' and
  `:query-type/result' utilities to explore types at the REPL.

Miscellaneous:

* The `compatibility' collection provides features from Racket
  relatives, such as `defmacro' and mutable lists.  These features
  are provided to ease porting code to Racket.  Avoid them in modern
  Racket code.

* Screenshots of the widgets provided by the Racket GUI library are
  included in the documentation.  (Thanks to Diogo F. S. Ramos.)

* FrTime was ported to racket lang.  (Thanks to Patrick Mahoney.)

Deprecation:

The following has been deprecated and will be removed in the January
2013 release:

* the `planet' command-line tool; use `raco planet' instead.

The following has been deprecated and will be removed in the August
2013 release:

* the `mzlib/class100' library; use `racket/class' instead.

Files:
RevisionActionfile
1.24modifypkgsrc/lang/racket/Makefile
1.8modifypkgsrc/lang/racket/PLIST
1.9modifypkgsrc/lang/racket/distinfo
1.15modifypkgsrc/lang/racket-textual/Makefile
1.8modifypkgsrc/lang/racket-textual/PLIST
1.9modifypkgsrc/lang/racket-textual/distinfo
1.1removepkgsrc/lang/racket/patches/patch-src_configure
1.1removepkgsrc/lang/racket/patches/patch-src_racket_gc2_sighand.c
1.3removepkgsrc/lang/racket/patches/patch-src_racket_sconfig.h
1.1removepkgsrc/lang/racket/patches/patch-src_racket_src_string.c