Racket 6.1
Wednesday, 06 August 2014

A new version has been released of Racket, an open source language in the Lisp-Scheme family.

racketbanner

 

According to its website, Racket is a full-spectrum programming language that goes beyond Lisp and Scheme with dialects that support objects, types and laziness - it claims to be for more than just exercises in language theory and programmers keen on Lisp.

It lets you link components written in different dialects, and you can also use it to create new, project-specific dialects. Racket's libraries support applications from web servers and databases to GUIs and charts. Racket used to be called PLT Scheme, and is free to use.

The main improvement to the new release is in the way local recursive variable definitions are handled. Instead of initializing variables with an undefined value, Racket raises an exception when such a variable is used before its definition.

Writing on the Racket blog, Ryan Culpepper of PLT Design points out that since programs are rarely intended to produce #<undefined>, raising an exception provides early and improved feedback. Module-level variables have always triggered such an exception when used too early, and this change finally gives local bindings — including class fields — the same meaning.

If you have existing Racket programs that use

(define undefined (letrec ([x x]) x))

to obtain the #<undefined> value, you’ll need to change them as the new feature will break them. Racket provides the same value via the racket/undefined library that was introduced in the previous release.

Other changes to the new version give better control over the timing of flushes thanks to new plumbing functions that generalize the flush-on-exit capability of primitive output ports; stronger random testing for the contract system so that it can easily find simple mistakes in contracted data structure; and a simplification of the semantics of mis-match patterns for Redex.

The graphics libraries and dependencies (Pango, Cairo, GLib, etc.) that are bundled with Racket on Windows and Mac OS X have also been updated, as has the openssl library. It now supports forward secrecy via DHE and ECDHE cipher suites.

 racketicon

More Information

Racket website

Blog announcement of Racket 1.6

Download Racket 6.1

Related Articles

PHP Gets A Formal Specification

Ecma Approves Dart 

Go 1.3 Released

Pharo 3.0 Released 

Self 4.5 Mallard Released

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner


Immutable No Longer As Lazy
04/11/2014

Immutable is intended to bring persistent data collections to Javascript. Pioneered by Facebook, it is open source and has just reached version 3.0.0. 



Polyfills As A Service
07/11/2014

Polyfills - don't you just hate'm, but you can't live without them. The big problem is knowing when you need them. Now there is a solution that gets it just right every time.


More News

 

blog comments powered by Disqus

Last Updated ( Wednesday, 06 August 2014 )
 
 

   
RSS feed of news items only
I Programmer News
Copyright © 2014 i-programmer.info. All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.