Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

'nlet' rebinding should duplicate bound declarations #4

Open
slburson opened this issue May 26, 2024 · 0 comments
Open

'nlet' rebinding should duplicate bound declarations #4

slburson opened this issue May 26, 2024 · 0 comments
Assignees

Comments

@slburson
Copy link
Owner

slburson commented May 26, 2024

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 slburson self-assigned this May 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant