Using exceptions in C++ desktop and server applications overall made sense to me. As I expanded my usage of C++ into other domains, specifically embedded domains, I began to experience more compelling reasons not to use exceptions first-hand…

From lobste.rs

    • lysdexic@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      1 year ago

      compiler support

      That remark was on sum types, not monads. You do not need “compiler support” to have Result or neither monads in C++. There are already plenty of libraries that implement those. I use them in some of my projects. No compiler support needed.

      As I said, sum types are not required for Return or Either monads. At best, they are convenient.

      • BatmanAoD@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        The original claim wasn’t that you can’t implement monads in C++, it was that compiler support is needed for “good” sum types. Unless I’m misreading, you brought monads into it. And they’re not totally orthogonal: sum types are a very good way to implement monads.

        • lysdexic@programming.dev
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          1 year ago

          Unless I’m misreading, you brought monads into it.

          You’re misreading it. What do you think a ‘Result’ type is?