A friendly programming language from the future.

  • robinm@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    11 months ago

    I would even have said that both throwing and catching should be pure, just like returning an error value/handling should be pure, but the reason for the throw/returning error itself is impure. Like if you throw and ioerror it’s only after doing the impure io call, and the rest of the error reporting/handling itself can be pure.

    • steersman2484@sh.itjust.works
      link
      fedilink
      arrow-up
      1
      ·
      11 months ago

      Sounds good,

      but would the preferred way be to use a wrapper type, which holds either the data or the error and avoid exceptions completely?