[Haskell-cafe] ANN: HLint 1.2

Duncan Coutts duncan.coutts at worc.ox.ac.uk
Mon Jan 12 09:26:19 EST 2009


On Mon, 2009-01-12 at 15:06 +0100, Henning Thielemann wrote:


> > It has to be manually transformed into a version that is not recursive
> > at the top level:
> >
> > map :: (a -> b) -> [a] -> [b]
> > map f = go
> >  where
> >    go []     = []
> >    go (x:xs) = f x : go xs
> >
> > Then the map can be inlined at the call site and the 'f' inlined into
> > the body of 'go'.
> 
> Maybe HLint can make such suggestions ...

I think HLint's philosophy prefers elegant code to performance hacks.

Duncan



More information about the Haskell-Cafe mailing list