Okay, here's what I've got now. I just spent way too long on an at-exp format that generates both markdown and text-file-style (no markdown links, lines broken at 80 chars). I'm going to paste the markdown one, let's see how it looks. @spdegabrielle , I diffed against your markdown, and I think the only changes are minor and deliberate. Let me know if you see problems!
As of this release:
- Racket has expanded support for immutable and mutable treelists:
- A variety of new treelist utility functions are available:
treelist-filter
,treelist-flatten
, et cetera. - The
mutable-treelist-prepend!
function allows prepending to mutable treelists. - Mutable treelists are serializable.
- A variety of new treelist utility functions are available:
- The
serialize-structs
module allows the minimization of dependencies by providing only a handful of core forms. - The
flbit-field
function allows access to the binary representation of IEEE floating-point numbers. - The top-left search box in the documentation works once more.
- The XML reader is 2-3x faster on inputs with long CDATA and comments, and avoids some internal contract checks to obtain a 25% speedup on large documents generally.
- The pregexp syntax includes "\X" to match a grapheme cluster, following Perl and PCRE.
- The
read-json*
andwrite-json*
functions allow customization of the Racket representation of JSON elements, eliminating the need for a separate "translation" pass. - Racket has new port I/O functions:
- The
open-input-nowhere
function creates an empty input port. - The
pipe-port?
function makes it possible to determine whether a port is created bymake-pipe
. - The
port-file-stat
function allows gathering information about the file that is the source or target of a file-stream port.
- The
- A revised representation of pointers improves the performance of foreign function calls. As a result,
ptr-ref
andptr-set!
are substantially faster. - In anticipation of the fifteenth RacketCon, the
fifteenth
function returns the fifteenth element of a list. - Racket has an improved multi-line convention for error messages.
- The
db
library allowsprepare
on virtual statements. - The
student-t
distribution is part of themath/distributions
library. - Expeditor supports customizing the prompt, using the
#:prompt
keyword argument tocall-with-expeditor
. - There is a guide to adding internationalization for a new (human) language.
- Optimizations to racket/profile improve asymptotic speed for very large call graphs.
- The
#lang htdp/asl
language incorporates Graphical Debugger support. - There is lots of new documentation, and many defects repaired!