The thing with using higher-order functions isn't learning the definitions (which are rather simple, really,) but figuring out how to use those tools.
And for that you need practice. Start from describing trivial problems (word count, for example), and advance to more complicated ones. Any good book on functional programming would have lots of exercises (http://mitpress.mit.edu/sicp/ is probably the most famous, but is surely not the only one.)
I grokked functional programming by learning Calculus of variations, but YMMV.
Comments
You want exercises, not a walk-through.
The thing with using higher-order functions isn't learning the definitions (which are rather simple, really,) but figuring out how to use those tools.
And for that you need practice. Start from describing trivial problems (word count, for example), and advance to more complicated ones. Any good book on functional programming would have lots of exercises (http://mitpress.mit.edu/sicp/ is probably the most famous, but is surely not the only one.)
I grokked functional programming by learning Calculus of variations, but YMMV.