04 Nov 2014

Racket v6.1.1

posted by Ryan Culpepper

Racket version 6.1.1 is now available from http://racket-lang.org/

  • The Mac OS X Yosemite compatibility problems are fixed. We bundled a patched Pango text-drawing library with Racket.

  • The Windows [32-bit] releases fixes the window-update crashes. We bundled a patched Cairo drawing library with Racket.

  • Typed Racket closes two safety holes in the exception system. The revised type system restricts raise to send only instances of the exn structure type and flat data to handlers. It also checks exception handlers properly. Note: Previously well-typed programs may fail to typecheck.

  • Typed Racket’s typed regions support casts and predicates.

  • 2htdp/image’s notion of equality ignores an image’s baseline.

  • The package manager supports a binary library installation mode, which allows users to install packages without source or documentation. Use the --binary-lib option with raco pkg install.

  • The new drracket-tool-lib package factors out parts of DrRacket’s IDE so that they can be reused with other editors, such as Emacs.

  • The compiler’s use-before-defined analysis has been repaired for certain forms of nested letrec, some let forms, and some uses of set! or with-continuation-mark.

  • The compiler performs additional bytecode optimizations. Thanks to Gustavo Massaccesi.

  • The CML library comes with a new replace-evt event constructor. Thanks to Jan Dvořák.

  • Redex’s benchmark suite comes with a description of the benchmark programs.

  • Redex’s metafunctions can be typeset using the “large left brace” notation for conditionals.

  • The contract library comes with an improved contract-stronger?. Its error messages note that the contract itself might be wrong.

  • The GUI library is DPI-aware on Windows.

  • The openssl library supports Server Name Indication for servers. Thanks to Jay Kominek.

  • The syntax/parse library allows the definition of new pattern forms via pattern expanders, similar to match expanders. Thanks to Alex Knauth.

  • OpenGL on Linux no longer depends on libgtkgl, and core profiles are supported (see set-legacy?).

  • The teaching languages’ unit test framework supports check-satisfied, a construct for checking whether a result satisfies a predicate, e.g.:

(check-satisfied (sort l) sorted?)

Feedback Welcome

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