Hacker News new | past | comments | ask | show | jobs | submit login

Fun thing - list comprehensions could be seen as map/filter and so on but they could also be seen as syntax sugar for monads:

     [ x + y
      for x in xs
      for y in ys]

     foo = do
         x <- xs
         y <- ys
         return (x + y)
Just that this is overloaded in haskell so that it works with lists but also as async/await, as the `?` operator that propagates errors in rust and so on.

So maybe it isn't the basic concepts of haskell that are hard to get but that they are so general.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: