posted by Eli Barzilay
Racket version 5.0.1 is now available from http://racket-lang.org/
Datalog is a lightweight deductive database system with Racket integration. It is now available in the
datalogcollection and with
Racklog provides Prolog-style logic programming in Racket, adapted from Dorai Sitaram’s Schelog package. It is available in the
racklogcollection and now as
raco setupcompile collections in parallel on all available processors. (Use
raco setup -j 1to disable, if necessary.)
Changes (as part of 5.0) in the
racketlanguage compared to the
schemelanguage: constructor-style printing, a
define-structthat fits more naturally with
matchand constructor-style printing, bytecode-dependency management via SHA–1 hashes instead of just timestamps (where the
openssl/sha1library provides the SHA–1 hash function), a reorganization of
ffi/unsafeand associated libraries, and new printing functions
displayln. Also, a generator from
racket/generatoris required to have the form
(generator () body ...), which supports a planned extension to let a generator accept arguments.
Changes to the
racketlanguage (since 5.0): internal-definition positions allow mixing expressions with definitions, full continuations can escape past a continuation barrier, custodians can attempt to terminate subprocesses and subprocess groups (see
subprocess-group-enabled), the JIT supports additional unboxing flonum operations and unsafe variants,
ffi/unsafeprovides an asychronous-call mechanism to deal with foreign threads, a new "." modifier for format string directives (e.g., "~.s" and "~.a") limits the respective output to
The core type system of Typed Racket has been substantially revised. In particular, Typed Racket can now follow significantly more sophisticated reasoning about the relationships between predicates. Additionally, Typed Racket now allows variable arity types in more places, allowing programmers to specify variable-arity lists.
We are working on an optimizing version of Typed Racket that takes advantage of type information for certain classes of programs. This project is a work in progress. For those interested, see the documentation for
web-server/formletslibrary adds a
formlet*form that allows dynamic formlet construction, as opposed to
formletwhich requires syntactic Xexprs and static formlets. Several new library formlets are added.
syntax/parselibrary has new support for matching literals at different phases using the
#:phaseargument for literals and literal sets.
RackUnit now includes a GUI test runner as
2htdp/imagelibrary now includes
flip-horizontaloperations that mirror images (vertically and horizontally).
Can you please add a note to the download page when a compilable linux source is available? And while you’re testing, try making an rpm with shared libraries enabled. I’ve been trying to do that since 4.1.2 using the Fedora spec file, and mzscheme always seg faults.
— Gene Snider, 6 August 2010
Thank you very much! Racket 5.0.1 successfully builds an rpm with shared libraries enabled on Fedora 14. Now to get the package maintainer up to speed.
— Gene Snider, 14 August 2010