schemeracket

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


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?


Solution

  • 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.