misc-extensions
misc-extensions copied to clipboard
'nlet' rebinding should duplicate bound declarations
So if you do something like
(let ((x ...)
((x (+ (* 3 x x) (* 4 x) 7))))
(declare (fixnum x))
...)
both x bindings get declared to be fixnums.
Tim Bradshaw has some discussion of this point concerning cl:let*.
BTW, in this post, Tim mentions that it's not always possible to tell when a symbol denotes a type. I'm wondering what he's referring to. Surely by macroexpansion time, all types must be known? Anyway, if this turns out to be true, I should tweak the README I just wrote.