set-car!, set-cdr! unbound in racket?

SoftTimur picture SoftTimur · Feb 28, 2012 · Viewed 14.9k times · Source

I am just trying to do very simple code with set-car! and set-cdr! in racket, but I got the error: expand: unbound identifier in module in: set-car! and expand: unbound identifier in module in: set-cdr!

Aren't they defined in racket? Could anyone help?

Answer

Óscar López picture Óscar López · Feb 28, 2012

You need to import mutable-pairs-6, like this:

(require rnrs/mutable-pairs-6)

Those procedures were moved to a different module and renamed to mcons, mcar, mcdr, set-mcar!, set-mcdr!, mlist to emphasize that they operate on mutable data, unlike their immutable counterparts.