3 ms·
> LET* indicates bad code, something I never understood Neither did I, until I encountered something along the lines of: (let* ((foo ...) (foo
by jpr 16y ago
> LET* indicates bad code, something I never understood
Neither did I, until I encountered something along the lines of:
(let* ((foo ...)
(foo ...)
(foo ...)
(foo ...)
(foo ...)
(foo ...)
(foo ...))
...)
- gruseom 16y agoThat's strangely unidiomatic. I wonder why that person didn't just write: (let ((foo ...)) (setf foo ...) (setf foo ...) ...) On a tangential note, while I try to avoid multiple assignment as much as possible, I also enjoy availing myself of CL's imperativeness whenever doing so makes my code smaller or more efficient. I really like CL's multiparadigm approach. The sweet spot seems to be: allow side-effects in the small (i.e. within functions or small scopes) and be as strict as you can in composing larger pieces.