[racket] About set-car! and set-cdr!

From: Daniel Carrera (dcarrera at gmail.com)
Date: Wed Mar 5 13:13:32 EST 2014


My understanding is that Racket intentionally does not provide set-car! and
set-cdr! and that this is one of the ways in which Racket is not fully
compatible with Scheme.

Am I right to think that it is trivially easy to add these features to
Racket? Specifically, I'm thinking of:

(define-syntax set-car!
  (syntax-rules ()
    ((_ l new_car) (set! l (cons new_car (cdr l))))))

(define-syntax set-cdr!
  (syntax-rules ()
    ((_ l new_cdr) (set! l (cons (car l) new_cdr)))))

Or did I miss something?

When an engineer says that something can't be done, it's a code phrase that
means it's not fun to do.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20140305/3a19598a/attachment.html>

Posted on the users mailing list.