[Haskell-beginners] How to improve lazyness of a foldl (and memory footprint)

Henk-Jan van Tuyl hjgtuyl at chello.nl
Wed May 15 00:46:11 CEST 2013

On Tue, 14 May 2013 11:22:27 +0200, Giacomo Tesio <giacomo at tesio.it> wrote:

> Hi, I'm trying to improve a small haskell program of mine.

Some remarks:

0) Use hlint (available on Hackage) for improvement suggestions
1) You don't have to write the module heading in Main.hs, it is not a  
library (why export main?)
2) Change "print" to "putStrLn" if you want to display messages without  
2) switchArgs is only partially defined, add something like:
      switchArgs [x] = putStrLn $ "Unknown tool: " ++ x
3) Use shorter lines, for example change:
   importTrades outDir csvFile = transformFile csvFile  
(foldTradingSample.getTickWriteTrades)   (saveTradingSamples outDir)

   importTrades outDir csvFile =
       (saveTradingSamples outDir)
4) It is considered good practice, to write the function
    composition operator between spaces (change f.g to f . g)

I have analyze your software further to see how sufficient laziness can be  

Henk-Jan van Tuyl

Folding at home
What if you could share your unused computer power to help find a cure? In  
just 5 minutes you can join the world's biggest networked computer and get  
us closer sooner. Watch the video.

Haskell programming

More information about the Beginners mailing list