[Racket announcement] Racket v6.2

From: Ryan Culpepper (ryanc at ccs.neu.edu)
Date: Fri Jun 19 23:21:05 EDT 2015

Racket version 6.2 is now available from

     http://racket-lang.org/

With this release we are taking a major step forward to get our user
community even more involved than in the past. Over the past six months,
we have re-organized the Racket code base into a small core code repo
and many other package repos, all found on GitHub. If you have time and
if you wish to get involved, please take a look at the GitHub repos and
find your favorite places to learn, fix, and enhance our world.

The core repo is at https://github.com/plt/racket, and the
package repos are listed at https://github.com/racket/.


core repo

* The package manager supports a direct references to Git repositories
   via "git://[...]", "http://[...].git", and "https://[...].git" URLs.
   (Previously, only references to GitHub were supported.)

* A `--clone` option for `raco pkg install` or `raco pkg update`
   facilitates Git-based package development. If a package X has a Git
   repository source, installing and updating the package pulls from the
   repository in a read-only mode. Using `raco pkg update --clone X`
   switches the local installation to a repository checkout that is
   suitable for modifying the package implementation, issuing pull
   requests, pushing changes, and so on.

   Using `raco pkg update --lookup X` switches the package back to the
   default installation mode.

drracket

* Its on-line check syntax works with graphical content.

* Increased availability of DrRacket's blueboxes, including method and
   constructor information.

* The "Open Require Path" menu item supports ".." in relative pathnames.

data

* Added data/enumerate, a library that supports efficient enumeration of
   data structures

redex

* Its redex-check facility uses data (in addition to random) enumeration
   to try to find counter-examples.

* Its generate-term function accepts additional arguments to return the
   "i"-th member of a pattern using data/enumerate (meaning it
   efficiently supports very large values of "i").

* The examples collection includes Launchbury's 1993 big-step lazy 
semantics.

htdp

* 2htdp/image's polygon may be built out of bezier curves instead of
   just straight lines (see the docs for "pulled-point").

* 2htdp/abstraction is a teachpack for instructors and students who wish
   to use for/* loops, match, define-type and type-cases in ISL and ISL+.

* 2htdp/universe programs can be exported using DrRacket's executable
   creation mechanism and they behave properly when run independently.

typed-racket

* Typed Racket in DrRacket displays tooltips that show the types of
   expressions. Tooltips are also displayed for type errors.

* Typed Racket loads generated contracts only when needed. This reduces
   memory use and startup time for Typed Racket programs.

* Typed Racket has improved support for prefab structures, future
   semaphores, and async channels.

* Typed Racket understands when two different variables refer to the
   same thing, and updates types accordingly. This particularly improves
   the type checking of macros such as `match`.

Feedback Welcome

Posted on the announce mailing list.