Greetings,
I just discovered the following bug (ghc-4.02).
---------------------------------------------------
> module LL( logLen ) where
> import DE
> -- de = quot
> logLen :: [a] -> Int
> logLen as = ll $ length as
> where ll i | i < 2 = 0
> ll i | otherwise = succ $ ll $ de i 2
---------------------------------------------------
> module DE( de ) where
> de = quot
---------------------------------------------------
I have compiled module DE separately from module LL.
Compiling LL does not work:
LL.lhs:6:
Couldn't match `Integer' against `Int'
Expected type: Integer
Inferred type: Int
In the application `length as'
In the second argument of `$', namely `length as'
Commenting the ``import DE'' line and uncommenting
the ``de = quot'' line does compile. It seems as if
something goes wrong when exporting functions across
different modules.
Regards,
Marc van Dongen