[Haskell-cafe] Hoogle? [Stacking monads]

Andrew Coppin andrewcoppin at btinternet.com
Fri Oct 3 14:09:28 EDT 2008

Andrew Coppin wrote:
> After much searching (Hoogle rather failed me here), I discover that...

I could probably elaborate on that point further.

Try doing a Hoogle search for "c1 (c2 x) -> c2 (c1 x)". Hoogle correctly 
states that Data.Traversable.sequence will do it for you.

Now try doing "c1 k (c2 x) -> c2 (c1 k x)". The 'sequence' function will 
also do this, but now Hoogle returns 0 results.

This is puzzling, since AFAIK, the above two type signatures are 
"equvilent" in some sense. (Specifically, replace every type X with type 
Y and you get from one to the other.) To me, this looks like a Hoogle 
bug. (It goes without saying that Hoogle also failed to find anything 
for the more specific type signature I was searching for, despite the 
fact that 'sequence' unifies with it.)

Is this a known issue?

More information about the Haskell-Cafe mailing list