Re: [Haskell-cafe] Hoogle totally broken?

2008-06-14 Thread Neil Mitchell
Hi Richard,

> It'd seem that (at least the online version of) Hoogle is totally broken
>  and useless.

To finish your sentance: "when searching for types with higher-kinded
type classes". In practice, this usually means Monad and occasionally
Functor.

>  ... and so on. (>>=) isn't there at all!?

It is, but its on page 4. That's clearly a bug, and a well known one.

I am currently writing Hoogle 4, details can be found here:
http://neilmitchell.blogspot.com/2008/04/summer-of-code-2008.html

To quote from that page:


# Removal of all bugs

Hoogle 3 has a number of embarrassing bugs, some of which are not
easily fixed. The nastiest of these is to do with monads, which are
horribly mistreated. Since I now know the underlying issues which have
caused a problem with Hoogle 3, things like higher-kinded type classes
can be solved in a more principled manner.


So try again in 3 months, and the issue will be gone :-)

Thanks

Neil
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Hoogle totally broken?

2008-06-14 Thread Daniel Fischer
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

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Hoogle totally broken?

2008-06-14 Thread Brent Yorgey
On Sat, Jun 14, 2008 at 9:10 AM, Richard <[EMAIL PROTECTED]>
wrote:

> 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 well-known that the current version of Hoogle doesn't deal well with
type constructors, like the 'm' in your type above.  However, you're (we're
all) in luck, since Neil Mitchell is working on a new version of Hoogle for
GSoC as we speak! =)

-Brent
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe