Writing C++ is easy. - eviltoast
  • CanadaPlus@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    43
    ·
    edit-2
    1 year ago

    Haskell errors:

    Iä! Iä! Cthulhu (b -> (a -> c)) -> (b -> (c -> c)) -> a fhtagn! Ph’nglui mglw’nfah [[a]] Cthulhu R’lyeh wgah’nagl fhtagn!

    [45 lines of scopes]

    Once you understand the type system really well and know which 90% of the error information to discard it’s not so bad, I guess.

      • CanadaPlus@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        11
        ·
        edit-2
        1 year ago

        I literally had a type-theory themed stress dream a couple nights ago. I’ll leave it up to you if that makes this less or more funny.

    • marcos@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 year ago

      GHC messages are complete and precise, usually telling you everything you need to know to understand, find, and fix the error, that may not even be on the place it’s actually detected.

      It’s also in an alien language. That’s correct.

      • CanadaPlus@lemmy.sdf.org
        link
        fedilink
        English
        arrow-up
        3
        ·
        1 year ago

        complete and precise

        Exactly. It’s a perfectly condensed yet totally complete readout of all the data you might need for debugging. It makes mathematicians everywhere proud.

        If you don’t actually need a complete set of information about possible exotic type choices just to see you put an infix in the wrong place that’s basically not the compiler’s problem.

        (TBF, I wouldn’t want to try and mindread the programmer in my compiler either, but then I am a maths person)

        • marcos@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          I dunno. That set of information about exotic type choices helps me very often. And I can always ignore it when it’s not useful.

          The bunch of “yes, compiled that module, everything is all right” messages in between them and warnings not surviving a second compilation bother me much more than the error messages. But learning to read the messages was not easy.

          • CanadaPlus@lemmy.sdf.org
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            And I can always ignore it when it’s not useful.

            I did mention that right off the bat. I made it sound unreasonable for comedic purposes, but breaking the jerk I actually do really like Haskell, and Haskell error messages.