
18 Mar
2010
18 Mar
'10
5:34 p.m.
Job Vranish wrote:
Hoogle is a great tool for finding haskell functions:
http://www.haskell.org/hoogle/
You can punch in the type of a function you want and it will give you a list of functions that might do what you need. Generalizing the types a bit usually helps. Searching for either m a -> n m a or IO a -> m a would give you 'lift' and 'liftIO' as one of the top results.
Is there a tool anywhere which can figure out how to construct a function with a specific type signature? Hoogle works if the thing you seek is a single function, but not so much if you need to throw several functions together. (For example, the signature "x -> [x -> y] -> [y]" can be implemented by \ x -> map ($ x), but this is initially non-obvious.)