[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
perhaps I've missed something ...
... but I fail to see the appeal of this mechanism. As far as I can
tell, a scheme implementation which conforms to this SRFI allows me
(set! (car x) 5)
(set-car! x 5)
To my eyes, the only effect of this change is to confuse the
primitive which mutates bindings (set!) with a primitive that mutates
values (set-car!). Although these two are radically different
beasts, beginning students often find it hard to understand the
difference, and a change of this sort will only make it harder to
ps. Since I am using a fixed-width font, I can see that the second
one is actually two characters shorter.
pps. let and letrec are both binding constructs. I don't see why we
need two different forms. Why not just use 'let,' and if any of the
right-hand-sides happen to refer to the name they're bound to,
implicitly change the whole thing into a letrec? I think this would
be much simpler and avoid lots of confusion.