>> Let me get this straight: you want to replace "import qualified"
>> with "with", "import" with "use", and "=" with "rename"? That
>> sounds like it's 180 degrees away from what I propose. My intention
>> was to eliminate the need for either new keywords or special
>> syntactic categories for "qualified" and "hiding". To me it sounds
>> like you just want to rename the identifiers.
>
>what i like about the Ada approach is that it separates
>the two concepts (import of modules, qualification of names).
>i think it's good software engineering to require
>that imports be stated at the top of a module.
>but it's bad to clutter up the namespace at the same time
>(by an unqualified import). that's why i want local "use" clauses as well.
>i have no fear of new keywords, provided they name
>sensible (and orthogonal) concepts.
No more orthogonal than Haskell's present approach, unless I missed something in your
explanation. And as far as syntax goes, Haskell's seems more orthogonal, since there
is one keyword for the concept of importing, and one "keyword" (special id,
whatever...) for the concept of qualification, whereas the Ada syntax conflates the
two.
Local imports might be useful, though. Objective Caml 2.00 has finally caved in and
followed Standard ML in allowing expression-local modules.
--FC