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 _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe