G'day all.

Quoting "C.M.Brown" <[EMAIL PROTECTED]>:

Yes, I saw that, thanks! I guess this is because it's hard to compile a
mutually recursive module...

It's because you don't need to declare the types of exported definitions.

Consider, this highly artificial example:

    module A where

    import B

    f (x,y) = g (x,'A')


    module B where

    import A

    g (x,y) = f (True,y)

To infer the types of f and g, you need to analyse both modules together.

And yes, some people think that this is a bug in the specification.

Cheers,
Andrew Bromage
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to