On 5/17/11 11:53 PM, KC wrote:
If you're importing the module as
import qualified Math.FFT as FFT
Shouldn't "Math.FFT" become "FFT"? :)
Nope.
Depending on your definition of "should" at least. Hierarchical modules
are not considered entities exported by modules further up on the tree.
So that's not the specified behavior of qualified imports. (Whether it
should be is a separate debate.)
On Tue, May 17, 2011 at 8:44 PM,<bri...@aracnet.com> wrote:
for example:
I will ask the glorious compiler, and it says:
*Main> :t calcFFT
calcFFT
:: (Math.FFT.Base.FFTWReal r) =>
V.Vector (Complex r) -> V.Vector (Complex r)
I then put the signature in my code, reload it, and:
Not in scope: type constructor or class `Math.FFT.Base.FFTWReal'
You can have functions in scope whose types include types which are not
themselves in scope. In these situations, GHC/GHCi is smart enough to
know where those types live, so it tells you; but since they're not in
the current namespace you have no way of referring to them yourself.
The solution is just to import Math.FFT.Base (or any other module that
re-exports FFTWReal).
--
Live well,
~wren
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe