Hoogle/Bugs

From HaskellWiki
Jump to navigation Jump to search

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

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 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 -}