Comment

Comment by throwaway183839

I'm kind of surprised that `enumerate` isn't defined in any standard libraries (as far as I know) since I need it pretty often.

After a while spent programming in Haskell you would probably develop your own mini-library of functions that make your life easier. Another one I often find useful is

  (.:) :: (c -> d) -> (a -> b -> c) -> a -> b -> d
  (.:) f g = \x y -> f (g x y)
which e.g. allows you to define the absolute distance function

  dist :: (Num a) => a -> a -> a
  dist = abs .: (-)
A fun challenge is figuring out why the definition of (.:) is equivalent to

  (.:) = fmap . fmap

!

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton