Difference between revisions of "Hoogle/Bugs"
< Hoogle
Jump to navigation
Jump to search
NeilMitchell (talk | contribs) |
NeilMitchell (talk | contribs) |
||
Line 13: | Line 13: | ||
* ThreadID -> IO (), does not find killThread :: ThreadId -> IO () (note Id vs ID) |
* 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 == |
== Bad UI == |
Revision as of 15:38, 24 August 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. I am slowly moving to a bug tracker, so you can enter them there if you want.
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
- ?hoogle (<<), goes crazy
- ThreadID -> IO (), does not find killThread :: ThreadId -> IO () (note Id vs ID)
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 -}