[racket] Why choose the 'let*' construct over the 'define' construct when both can have sequential scope?
What is/are the reason(s) for choosing the 'let*' construct over the
'define' construct?
(define (print-two f)
(let* ([_ (print (first f))]
[f (rest f)]
[_ (print (first f))]
[f (rest f)])
f))
(define print-two
(lambda (f)
(print (first f))
(set! f (rest f))
(print (first f))
(set! f (rest f))
f))
(void (print-two '(1 2))) ;=> 12
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20150219/e1d20fa6/attachment.html>