Original-Via: uk.ac.nsf; Wed, 2 Oct 91 03:29:59 BST
Original-Sender: [EMAIL PROTECTED]


I have a little problem in interpreting what an interface file means
under peculiar circumstances (maybe I havn't read the report enough).
Can the someone help me?

The following interface file:

        interface B where
        import A(T(..)) renaming (T to S)
        data S = S Int

is for a module

        module B(S(..)) where
        import A renaming(T to S)

Question: What is the original declaration of type T?
Both of the modules below could be right.

        module A where
        data T = S Int

and

        module A where
        data T = T Int

This happens because renaming happens in all namespaces, but there
is no name clash between constructors and types.

        -- Lennart

Reply via email to