[Haskell-cafe] What is your favourite Haskell "aha" moment?

Magnus Therning magnus at therning.org
Thu Jul 12 20:05:27 UTC 2018


On Wed, 11 Jul 2018, 14:10 Simon Peyton Jones via Haskell-Cafe, <
haskell-cafe at haskell.org> wrote:

> Friends
>
> In a few weeks I’m giving a talk to a bunch of genomics folk at the Sanger
> Institute <https://www.sanger.ac.uk/> about Haskell.   They do lots of
> programming, but they aren’t computer scientists.
>
> I can tell them plenty about Haskell, but I’m ill-equipped to answer the
> main question in their minds: *why should I even care about Haskell*?
> I’m too much of a biased witness.
>
> So I thought I’d ask you for help.  War stories perhaps – how using
> Haskell worked (or didn’t) for you.  But rather than talk generalities, I’d
> love to illustrate with copious examples of beautiful code.
>
>    - Can you identify a few lines of Haskell that best characterise what
>    you think makes Haskell distinctively worth caring about?   Something that
>    gave you an “aha” moment, or that feeling of joy when you truly make sense
>    of something for the first time.
>
> The challenge is, of course, that this audience will know no Haskell, so
> muttering about Cartesian Closed Categories isn’t going to do it for them.
> I need examples that I can present in 5 minutes, without needing a long
> setup.
>
> To take a very basic example, consider Quicksort using list
> comprehensions, compared with its equivalent in C.  It’s so short, so
> obviously right, whereas doing the right thing with in-place update in C
> notoriously prone to fencepost errors etc.  But it also makes much less
> good use of memory, and is likely to run slower.  I think I can do that in
> 5 minutes.
>
> 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; generalising at the type level by polymorphism, including
> polymorphism over higher-kinded type constructors.   Maybe 8 minutes.
>
> But you will have more and better ideas, and (crucially) ideas that are
> more credibly grounded in the day to day reality of writing programs that
> get work done.
>
> Pointers to your favourite blog posts would be another avenue.  (I love
> the Haskell Weekly News.)
>
> Finally, I know that some of you use Haskell specifically for genomics
> work, and maybe some of your insights would be particularly relevant for
> the Sanger audience.
>
> Thank you!  Perhaps your responses on this thread (if any) may be helpful
> to more than just me.
>

I wrote something about just this a few years ago, one such moment for me:
http://therning.org/magnus/posts/2007-10-22-324-aha-one-liners.html

/M
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20180712/179e42e1/attachment.html>


More information about the Haskell-Cafe mailing list