misc-extensions icon indicating copy to clipboard operation
misc-extensions copied to clipboard

'nlet' rebinding should duplicate bound declarations

Open slburson opened this issue 1 year ago • 0 comments

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.

slburson avatar May 26 '24 04:05 slburson