[plt-scheme] mreverse!
Okay, so I definitely don't understand the point of mreverse!
How is it different from
(define mreverse!
(lambda (l)
(let ([rev (mreverse l)])
(set-mcdr! l null)
rev)))
On Sat, Jan 24, 2009 at 4:06 PM, Matthias Felleisen
<matthias at ccs.neu.edu> wrote:
>
> mreverse! reverses the list values, it does NOT change the association
> between any identifier and the value. Just imagine this:
>
> (define a (mlist 1 2 3 4))
> (define b a)
> (define c b)
> (define d a)
> (define e c)
>
> > (mreverse! d)
I don't understand the point here either. When I apply my own
destructive reverse here:
d
>{4 3 2 1}
Why is that wrong?
regards,
praimon