19 Jun 2015

Racket v6.2

posted by Ryan Culpepper

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.


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

Feedback Welcome

Made with Frog, a static-blog generator written in Racket.
Source code for this blog.