• @expr@programming.dev
          link
          fedilink
          24 months ago

          As a professional Haskell developer, I tend to agree. I loathe any and all lens code I find using a ton of operators (though I just dislike lenses in general). Operators from base are generally fine, but for the rest, just use normal functions damnit. Operators suck for code navigation too.

          • @baseless_discourse@mander.xyz
            link
            fedilink
            14 months ago

            Yeah, it is one of the problem I have about Haskell.

            The other two are lazy evaluation makes print debugging almost impossible, you will need to print the entire environment to figure out where you are.

            Finally, I feel like List.fold, state monad, lens are basically just working with mutable structure with extra steps. Although this constructs prevent newbies who are not principled enough to effectively use mutable structure from using mutable structure, but it also doesn’t help experienced user to write more effective and clean code.

            Mutuabilty are certainly not harmless either. For example in ocaml, if you construct the IntSet type twice, they will be two completely different type. But this behavior can be pretty easily avoided by an experienced user.

            What do you feel about these features/shortcomings?

    • @CanadaPlus
      link
      54 months ago

      Haskell is abstract, and very different from other popular languages, but I actually find it very intuitive. At the very least, the type system makes it extremely predictable.

      • @baseless_discourse@mander.xyz
        link
        fedilink
        7
        edit-2
        4 months ago

        I didn’t imagine a joke would attract this many people defending Haskell. LOL.

        I personally would say I hate Haskell the least among most of the PL I know, maybe except ocaml. Haskell is probably the second if not the most popular programming language (not including proof assistant) in my field, next to Ocaml; and I have been teaching it for couple years. My work is also heavily involved with category theory, so I don’t personally mind the category theory jargon.

        But all of these doesn’t mean Haskell is without its flaws. For this post in particular, I am referring to one of the long standing debate in the haskell community of whether Haskell user and developer has a tendency to overuse exotic infix operators: https://wiki.haskell.org/Haskell_programming_tips/Discussion#Use_syntactic_sugar_wisely

        • @CanadaPlus
          link
          2
          edit-2
          4 months ago

          Haha, an actual category theorist! You should have gone with “we have more than one of those in Haskell” or something, then. As it is, it really just reads like someone who thinks higher-order functions are too hard of a concept, and that the whole language is therefore garbage.