
bf3:
Having only a couple of days of practice programming Haskell (but having read lots of books and docs), I find myself writing very explicit low level code using inner "aux" functions (accumulators and loops). Then I force myself to revise the code, replacing these aux functions with suitable higher-order functions from the library. However, I would like to use these higher order functions right away, without using low-level aux constructs, which is most likely caused by my very long history of imperative programming...
Is this the "normal" way of progressing in Haskell, or should I consider a different approach?
I think this is normal: you start with manual loops, and you learn the names for each loop form over time, using the combinator forms once you're familiar with them. Thanks for the insight! -- Don