Release Announcement for Version 6.2

Racket v6.2

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, and the
package repos are listed at

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.


* 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.


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


* 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.


* 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 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`.