Release 8.11 of Racket, the Language-Oriented Programming Language is now available from https://download.racket-lang.org/
Racket allows programmers to add new syntactic constructs in the same way that other languages permit the formulation of procedures, methods, or classes.
PLT Redex consists of a domain-specific language for specifying reduction semantics, plus a suite of tools for working with the semantics.
PLT Redex is embedded in Racket, meaning all of the convenience of a modern programming language is available, including standard libraries (and non-standard ones) and a program-development environment.
As of this release:
Match clauses can include a #:do option to allow evaluation of code and bindings before a following #:when clause. See
JSON Serialization supports indentation with an #:indent option to
initiate-sequencefunction simplifies the creation of sequences. See
:do-inform allows an inner definition sequence. See
redex-defineform allows pattern-matching in PLT Redex using a
define-like syntax. See
Racket and Chez Scheme use Robert L. Smith’s “Algorithm 116” for division of complex numbers. See Robert L. Smith. 1962. Algorithm 116: Complex division. Commun. ACM 5, 8 (Aug. 1962), 435.
DrRacket has indentation guides that provide visual cues indicating how code is indented and grouped, accessible by using (<menu-key>-shift-i).
“Comment-out” menu items can be specific to the #lang used by the current file. See
Unused identifiers have a tooltip indicating that they have no bound occurrences.
Quickscript includes a new form of scripting in the form of “hook” functions that can be attached to existing events. See Hooks
plot-legend-paddingparameters to control the amount of space left unused around the plot edge and plot legend. See
There are many other documentation improvements, optimizations, and bug fixes!