You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: blog/_src/posts/2025-01-31-racket-v8-16.md
+6-6
Original file line number
Diff line number
Diff line change
@@ -13,19 +13,19 @@ We are pleased to announce Racket v8.16 is now available from [https://download.
13
13
## As of this release:
14
14
15
15
- Racket has expanded support for immutable and mutable treelists:
16
-
- A variety of new treelist utility functions are available: [`treelist-filter`](https://docs.racket-lang.org/reference/treelist.html#%28def._%28%28lib._racket%2Ftreelist..rkt%29._treelist-filter%29%29), [`treelist-flatten`](https://docs.racket-lang.org/reference/treelist.html#%28def._%28%28lib._racket%2Ftreelist..rkt%29._treelist-flatten%29%29), et cetera.
17
-
- The [`mutable-treelist-prepend!`](https://docs.racket-lang.org/reference/treelist.html#%28def._%28%28lib._racket%2Fmutable-treelist..rkt%29._mutable-treelist-prepend%21%29%29) function allows prepending to mutable treelists.
18
-
-[Mutable treelists](https://docs.racket-lang.org/reference/treelist.html#%28part._.Mutable_.Treelists%29) are [serializable](https://docs.racket-lang.org/reference/serialization.html).
16
+
- A variety of new treelist utility functions are available: [`treelist-filter`](https://docs.racket-lang.org/reference/treelist.html#%28def._%28%28lib._racket%2Ftreelist..rkt%29._treelist-filter%29%29), [`treelist-flatten`](https://docs.racket-lang.org/reference/treelist.html#%28def._%28%28lib._racket%2Ftreelist..rkt%29._treelist-flatten%29%29), et cetera.
17
+
- The [`mutable-treelist-prepend!`](https://docs.racket-lang.org/reference/treelist.html#%28def._%28%28lib._racket%2Fmutable-treelist..rkt%29._mutable-treelist-prepend%21%29%29) function allows prepending to mutable treelists.
18
+
-[Mutable treelists](https://docs.racket-lang.org/reference/treelist.html#%28part._.Mutable_.Treelists%29) are [serializable](https://docs.racket-lang.org/reference/serialization.html).
19
19
- The [`serialize-structs`](https://docs.racket-lang.org/reference/serialization.html#%28mod-path._racket%2Fserialize-structs%29) module allows the minimization of dependencies by providing only a handful of core forms.
20
20
- The [`flbit-field`](https://docs.racket-lang.org/reference/flonums.html#%28def._%28%28lib._racket%2Fflonum..rkt%29._flbit-field%29%29) function allows access to the binary representation of IEEE floating-point numbers.
21
21
- The top-left search box in the [documentation](https://docs.racket-lang.org/index.html) works once more.
22
22
- The [XML reader](https://docs.racket-lang.org/xml/index.html#%28part._.Reading_and_.Writing_.X.M.L%29) 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.
23
23
- The [pregexp syntax includes "\X" to match a grapheme cluster](https://docs.racket-lang.org/reference/regexp.html#(part._regexp-syntax)), following Perl and PCRE.
24
24
- The [`read-json*`](https://docs.racket-lang.org/json/index.html#%28def._%28%28submod._%28lib._json%2Fmain..rkt%29._for-extension%29._read-json%2A%29%29) and [`write-json*`](https://docs.racket-lang.org/json/index.html#%28def._%28%28submod._%28lib._json%2Fmain..rkt%29._for-extension%29._write-json%2A%29%29) functions allow customization of the Racket representation of JSON elements, eliminating the need for a separate "translation" pass.
25
25
- Racket has new port I/O functions:
26
-
- The [`open-input-nowhere`](https://docs.racket-lang.org/reference/port-lib.html#%28def._%28%28lib._racket%2Fport..rkt%29._open-input-nowhere%29%29) function creates an empty input port.
27
-
- The [`pipe-port?`](https://docs.racket-lang.org/reference/pipeports.html#%28def._%28%28quote._~23~25kernel%29._pipe-port~3f%29%29) function makes it possible to determine whether a port is created by [`make-pipe`](https://docs.racket-lang.org/reference/pipeports.html#%28def._%28%28quote._~23~25kernel%29._make-pipe%29%29).
28
-
- The [`port-file-stat`](https://docs.racket-lang.org/reference/file-ports.html#%28def._%28%28quote._~23~25kernel%29._port-file-stat%29%29) function allows gathering information about the file that is the source or target of a file-stream port.
26
+
- The [`open-input-nowhere`](https://docs.racket-lang.org/reference/port-lib.html#%28def._%28%28lib._racket%2Fport..rkt%29._open-input-nowhere%29%29) function creates an empty input port.
27
+
- The [`pipe-port?`](https://docs.racket-lang.org/reference/pipeports.html#%28def._%28%28quote._~23~25kernel%29._pipe-port~3f%29%29) function makes it possible to determine whether a port is created by [`make-pipe`](https://docs.racket-lang.org/reference/pipeports.html#%28def._%28%28quote._~23~25kernel%29._make-pipe%29%29).
28
+
- The [`port-file-stat`](https://docs.racket-lang.org/reference/file-ports.html#%28def._%28%28quote._~23~25kernel%29._port-file-stat%29%29) function allows gathering information about the file that is the source or target of a file-stream port.
29
29
- A [revised representation](https://racket.discourse.group/t/fixnum-slow-despite-docs/3409/6) of pointers improves the performance of foreign function calls. As a result, [`ptr-ref`](https://docs.racket-lang.org/foreign/foreign_pointer-funcs.html#%28def._%28%28quote._~23~25foreign%29._ptr-ref%29%29) and [`ptr-set!`](https://docs.racket-lang.org/foreign/foreign_pointer-funcs.html#%28def._%28%28quote._~23~25foreign%29._ptr-set%21%29%29) are substantially faster.
30
30
- In anticipation of the fifteenth [RacketCon](https://con.racket-lang.org), the [`fifteenth`](https://pre-release.racket-lang.org/doc/reference/pairs.html#%28def._%28%28lib._racket%2Flist..rkt%29._fifteenth%29%29) function returns the fifteenth element of a list.
31
31
- Racket has an improved multi-line convention for error messages.
0 commit comments