[Haskell-cafe] What is your favourite Haskell "aha" moment?
Joachim Durchholz
jo at durchholz.org
Thu Jul 12 06:01:19 UTC 2018
Am 11.07.2018 um 14:10 schrieb Simon Peyton Jones via Haskell-Cafe:
> Another thing that I think comes over easily is the ability to abstract:
> generalising sum and product to fold by abstracting out a functional
> argument;
You can expound more on that: People don't have to write loops anymore
(with their fencepost issues etc.). It's like a "for" loop, but written
using in-language facilities instead of having to live with what the
language designer does.
This means you can roll your own loop constructs.
Consider iterating over the elements of a data structure such as List,
Tree, etc. Most languages offer an Iterable interface, which tends to be
somewhat messy to implement.
With a higher-order function, you can just write down the loop, *once*,
and the loop body will be provided by a function parameter, and voilĂ !
you have your loop construct.
HTH
Jo
More information about the Haskell-Cafe
mailing list