Racket v5.1.1

Racket version 5.1.1 is now available from

  • The new racket/stream library provides stream-first, stream-rest, a lazy stream-cons, and so on. Streams are a subtype of sequences, so they work in for forms. Some sequence generators, such as in-range, now produce streams. A racket/sequence library replaces the old racket/stream library.
  • The new racket/syntax library contains facilities useful for writing macros. The new syntax/srcloc and syntax/location libraries provide support for manipulating source locations.
  • The racket/gui library now supports multi-column list boxes and scrolling panels.
  • The new ffi/file library is useful for writing foreign library bindings that cooperate with Racket's security guard mechanism.
  • Generators from the racket/generator library can now have formal arguments that are used when the generator is fired up.
  • Single-precision floating-point support is now enabled by default. Single-precision floats print differently from their default double-precision counterparts, new primitives convert between the two precisions, and new reader syntax supports single-precision literals.
  • JIT improvements include a small change to aid x86 branch prediction on function-call returns, which can speed up some programs significantly.
  • Typed Racket:
    • The numeric tower has been entirely overhauled. TR programs can now use more precise types than before, and check more numeric properties, such as sign or range properties.
    • Fixnum optimizations have been improved and should apply more broadly.
    • The performance of the typechecker has been improved. In particular, dispatch on large union types should typecheck much faster than before.
  • The Stepper can now step through Lazy Racket programs.
  • The racket/future library includes fsemaphore values, the future primitive no longer freezes futures (so a future can spawn new futures), and future log messages are more informative.
  • PLaneT development links are now version-specific.
  • The 2htdp/image library now includes overlay/align, underlay/align, overlay/align/offset and underlay/align/offset.
  • The network protocol for universes in 2htdp/universe has changed, so that v5.1.1 is incompatible with earlier versions.
  • The "DrScheme" application (which simply ran DrRacket in the last few releases) has been removed. The "MrEd" GUI executables for Windows and Mac OS X have also been removed, although the "mred" console executable remains for Unix and Mac OS X to support old scripts.


deforce said...

Are there plans to include a windows x86_64 version at some point?

Eli Barzilay said...

Yes, we now have a Windows x86_64 build. You can try a nightly build (http://pre.racket-lang.org/installers) or wait for the next version which should be out very soon.