• Pencilnoob@lemmy.world
      link
      fedilink
      English
      arrow-up
      16
      ·
      5 days ago

      I’m sure someone will be like “um akchuly” to my explanation. But for me it’s good enough to think if it that way.

      I’ve worked in Haskell and F# for a decade, and added some of the original code to the Unison compiler, so I’m at least passingly familiar with the subject. Enough that I’ve had to explain it to new hires a bunch of times to get them to to speed. I find it easier to learn something when I’m given a practical use for it and how it solves that problem.

      • harryprayiv@infosec.pub
        link
        fedilink
        English
        arrow-up
        4
        ·
        edit-2
        5 days ago

        Lovely response! Very cool to see Unison mentioned. Haskell and Purescript are my daily drivers but I have a huge crush on it even though it intimidates me.

        Ps. Unison doesn’t have monads. They are replaced by “abilities”.

    • CanadaPlus@lemmy.sdf.org
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      5 days ago

      It is, although I’m not sure it’s complete. A list is one kind of monad, despite working like non-mutable linked lists would in any other language. They just happen to behave monadically, providing an obvious and legal interpretation of the monad functions. Going off of OP you might think monads are all Maybe.

      I will say that the concept is overhyped in at this point, at least in Haskell, and there’s a lot of monads available that do what plain functional code could but worse.