
Am Samstag, 14. Juni 2008 15:10 schrieb Richard:
It'd seem that (at least the online version of) Hoogle is totally broken and useless. See, for example, the output when looking for: Monad m => m a -> (a -> m b) -> m b (i.e. (>>=)'s type) over at: http://haskell.org/hoogle/?q=Monad+m+%3D>+m+a+->+(a+->+m+b)+->+m+b
Data.Generics.Sche... everywhere :: (a -> a) -> a -> a Data.Generics.Sche... everywhere' :: (a -> a) -> a -> a Prelude. ($) :: (a -> b) -> a -> b Prelude. ($!) :: (a -> b) -> a -> b Data.Function. ($) :: (a -> b) -> a -> b Prelude. maybe :: b -> (a -> b) -> Maybe a -> b Data.Maybe. maybe :: b -> (a -> b) -> Maybe a -> b
... and so on. (>>=) isn't there at all!?
It's near the bottom of page 4 of the results. hoogle doesn't do an exact search, it reports all "close enough matches", which sometimes is less useful than other times. One great thing about hoogle's notion of 'close enough' is that it includes permutations of parameters, one less good thing is that it's not particularly faithful to type constructors. I think Neil's in the process of writing hoogle 4, which supposedly will be better with such things. However, in spite of hoogle's quirks and shortcomings, if you get used to them, it's a very useful tool already. Cheers, Daniel