与Maybe数据类型相反

Hai*_*Gad 0 haskell

所以Maybe数据类型定义如下:

data Maybe a = Just a | Nothing
Run Code Online (Sandbox Code Playgroud)

您认为与概念相反的数据类型是什么Maybe:

data <Type> = Okay | Error String
Run Code Online (Sandbox Code Playgroud)

也就是说,一种声明计算成功的类型或者保存计算产生的一些错误.

lef*_*out 7

我驳斥了这种类型与"相反"有意义的前提Maybe.我也不同意Either通常应将其理解为错误信号类型 - 由于其monad实例的工作方式,这只是一种非常自然的使用方式.

无论MaybeEither什么都不知道的错误/失败-他们只是一笔类型(在的情况下的抽象的概念的实现Maybe与单位类型总和).

IMO,您应该只Maybe String为此目的使用,或者如果您喜欢它:

type ErrorMsg = String
type PossibleError = Maybe ErrorMsg
Run Code Online (Sandbox Code Playgroud)