Difference between revisions of "Hoogle/Bugs"

From HaskellWiki
Jump to navigation Jump to search
Line 19: Line 19:
 
* Monad m => [m a] -> m [a] -- should find sequence
 
* Monad m => [m a] -> m [a] -- should find sequence
 
* (Monad m) => m (m a) -> m a -- should find join
 
* (Monad m) => m (m a) -> m a -- should find join
  +
  +
== Bad UI ==
  +
  +
* hoogle is a bit stingey with the space limit on the module name, for many modules it cuts them off with "...", i.e. ParseError
   
 
== Bad Ordering ==
 
== Bad Ordering ==
Line 25: Line 29:
 
** Foreign.Storable.peekByteOff :: Storable a => Ptr b -> Int -> IO a
 
** Foreign.Storable.peekByteOff :: Storable a => Ptr b -> Int -> IO a
 
** Foreign.Storable.peek :: Storable a => Ptr a -> IO a
 
** Foreign.Storable.peek :: Storable a => Ptr a -> IO a
 
   
 
== Other Issues ==
 
== Other Issues ==

Revision as of 12:17, 21 July 2006

Hoogle has plenty of bugs, consider them features until they are fixed :) To report a bug either email me or just add it to this list.


Bad Searches

  • (a -> b) -> ([a] -> [b]) -- should find map
  • @hoogle Data.IntMap.IntMap a -> [a] -- badly kills the module names
  • @hoogle -- , gives copyright message (consequence of argument parsing in command line)
  • Either, should find Left and Right
  • @hoogle (\=), bracket does not parse
  • ThreadID -> IO (), does not find killThread :: ThreadId -> IO () (note Id vs ID)

Higher Kinds

The following searches are all wrong because Hoogle doesn't understand higher kinds, i.e. Monad's.

  • Functor f => (a -> b) -> f a -> f b -- should find fmap
  • Monad m => [m a] -> m [a] -- should find sequence
  • (Monad m) => m (m a) -> m a -- should find join

Bad UI

  • hoogle is a bit stingey with the space limit on the module name, for many modules it cuts them off with "...", i.e. ParseError

Bad Ordering

  • Ptr a -> IO a [peek should be first]
    • Foreign.Storable.peekByteOff :: Storable a => Ptr b -> Int -> IO a
    • Foreign.Storable.peek :: Storable a => Ptr a -> IO a

Other Issues

While trying to run hihoo.pl on the NewBinary library, I received the following problems

hihoo is currently unmaintained, I recommend hadhtml. If someone is able to fix it up... --Neil Mitchell 19:22, 13 February 2006 (UTC)
*** can't parse data or newtype declaration:
data MBA
    Variances []
    RecFlag NonRecursive
    Generics: no
    {- abstract -}
*** can't parse data or newtype declaration:
data Bin a
    Variances [(False, False)]
    RecFlag NonRecursive
    Generics: no
    {- abstract -}
*** can't parse data declaration:
data BinHandle
    Variances []
    RecFlag NonRecursive
    Generics: no
    = BinMem NewBinary.FastMutInt.FastMutInt{1}
             NewBinary.FastMutInt.FastMutInt{1}
             (GHC.IOBase.IORef BinArray)
             NewBinary.FastMutInt.FastMutInt{1}
             NewBinary.FastMutInt.FastMutInt{1}
          Stricts: ! ! ! ! !
          Fields: off_r sz_r arr_r bit_off_r bit_cache_r |
      BinIO NewBinary.FastMutInt.FastMutInt{1}
            GHC.IOBase.Handle
            NewBinary.FastMutInt.FastMutInt{1}
            NewBinary.FastMutInt.FastMutInt{1}
          Stricts: ! ! ! !
          Fields: off_r hdl bit_off_r bit_cache_r
*** can't parse data or newtype declaration:
data FastMutInt
    Variances []
    RecFlag NonRecursive
    Generics: no
    {- abstract -}