[racket-dev] regexp-split produces immutable cons when rnrs/base-6 is required

From: Sam Tobin-Hochstadt (samth at ccs.neu.edu)
Date: Fri Nov 25 08:21:45 EST 2011

On Fri, Nov 25, 2011 at 8:15 AM, Marijn <hkBst at gentoo.org> wrote:
> regexp-split produces an immutable cons when rnrs/base-6 is required:

`regexp-split' is still being obtained from `racket/base' in this example:

> $ echo "m" | racket -e '(require rnrs/base-6) (car (regexp-split " +"
> (read-line (current-input-port))))
> 'mcar: expects argument of type <mutable-pair>; given '("m")
> but

but all of these bindings are shadowed by `rnrs/base-6', and so
manipulate mutable pairs.

> $ echo "m" | racket -e '(require rnrs/base-6) (car (list (read-line
> (current-input-port))))'
> "m"
> so apparently regexp-split is the culprit,

R6RS doesn't specify regular expressions, so there isn't a custom
version of the regular expression functionality that works with R6RS
(ie, mutable) lists.
sam th
samth at ccs.neu.edu

Posted on the dev mailing list.