[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

More words on the scoping of declarations

    I think that I like the substance of your proposal for declaration
scoping, but I have some misgivings about the way that you have
expressed it.

    In your definition, you attempt to simply define all interactions
between all forms where declarations can appear and all code that can
appear in them.  This approach attempts to deny the need for a theory
of declaration scoping.  Such a theory would give people a model for
understanding how things work, and would also enforce some sort of
consistency in the definition.

    It is evident that you do have a theory of variable binding, but
you don't really attempt to formalize it to the point where
declartion semantics becomes obvious.  You theory is based on the idea
that declaration scoping should follow the same scope rules as
variables.  It is a property of this theory that a declaration for a
specific name cannot refer to multipel variables which have the same

    So far as the application of the theory goes, the main problem
that I see is with LET* and possibly other places where sequential
bindings happen.  It is not obvious to me what the scope of
delcarations in LET* should be, even if we disallow repeated variable