[Racket announcement] Racket v6.0

From: Ryan Culpepper (ryanc at ccs.neu.edu)
Date: Wed Feb 26 18:01:44 EST 2014

Racket version 6.0 is now available from

     http://racket-lang.org/

Racket 6.0 has a new package system, including a catalog of
hundreds of already-available packages. Please visit

    http://pkgs.racket-lang.org/

for an overview of the packages.

Racket versions 5.3.4 through 5.3.6 included "beta" versions of the
package system. Racket version 6.0 incorporates many improvements
suggested by preliminary experiences in those versions:

   * A package is treated as a single collection by default, so it is
     even easier to use a GitHub repository as a package. Get started
     quickly:
       http://docs.racket-lang.org/pkg/getting-started.html

   * DrRacket includes a new package manager GUI, available via the
     File|Package Manager ... menu item. The GUI is also available
     as a stand-alone program via the "gui-pkg-manager" package.

   * The main Racket distribution has been separated into about 200
     packages. The Racket installer combines the core system with
     bundled versions of these packages.

     Alternatively, you may now install a Minimal Racket distribution
     --- which is about 1/10 the size of the main distribution --- and
     add only those packages that you need.

   * Package installation supports pre-built packages that include
     compiled byte code and rendered documentation, meaning packages can
     be installed quickly when built versions are available. All
     packages in the main distribution are available in pre-built form.

The recent 5.92 and 5.93 releases served as release candidates for 6.0,
and 6.0 includes a few additional repairs related to the package
system.

Further improvements to the package system are in the works, notably
including package documentation on the package-catalog web site.

COMPATIBILITY NOTE: PLaneT, the previous Racket package system, will
remain in place for the foreseeable future, but we expect all package
work to shift to the new system.

Beyond the package system, this release brings a number of other
changes:

   * Racket's HTML documentation has a new and improved look, thanks to
     Matthew Butterick.

   * The documentation includes a style guide, "How to Program Racket"
     http://docs.racket-lang.org/style/

   * Racket's JIT compiler supports the ARM architecture.

   * Racket supports the Mac's Retina display mode.

   * The performance of the Typed Racket compiler improved by 50% on
     some typed programs; e.g., see http://bit.ly/1d0Ye4z

   * The profiler provides a new mode that uses the errortrace library
     to produce fine-grained profiles.

   * A new contract profiler reports how much time programs spend
     checking contracts, and which contracts are most expensive.

   * The math/flonum library exports fast 105-bit precision operations.

   * Check Syntax handles generated identifiers, especially those
     introduced by struct (e.g. field selectors) and Redex (e.g., e_1,
     e_2)

   * 2htdp/batch-io includes functions for dealing with html/xml in
     files and web sites as X-expressions plus conveniences for
     web-based graph traversals.

   * The `gen:set' generic interface extends set operations to work on
     user-defined types that implement set methods, as well as on other
     set-like built-in types, such as lists.

   * Picts support conversion to SVG format.

   * Under unix, Racket provides desktop entries (.desktop files) for
     its graphical executables.

Feedback Welcome

Posted on the announce mailing list.