Concurrent Clean : PassFail
値を返すかエラーを返す場合には、PassFailという型を定義しているけれど、値を返さないかエラーを返す場合はどうしようか?
SQLモジュールでは、Maybeを使って表現していたけれど、はっきりそれと分かる型を用意しておく方がよいように思う。
:: PassFail f p = Pass !p | Fail !f
値を返すかエラーを返す場合には、PassFailという型を定義しているけれど、値を返さないかエラーを返す場合はどうしようか?
SQLモジュールでは、Maybeを使って表現していたけれど、はっきりそれと分かる型を用意しておく方がよいように思う。
:: PassFail f p = Pass !p | Fail !f