Haskell 98报告
顶部|后面|下一个|目录|功能索引

18  也许是公用事业


模块也许(
只是,什么都不是,
从Just,从Maybe,listToMaybe,
catMaybes,地图Maybe,

    -- ...以及前奏曲的出口
也许(没什么,只是),
也许吧
)其中

只是,就是没有::也许是->布尔
fromJust::也许a->a
fromMaybe::a->可能a->a
listToMaybe::[a]->可能是
maybeToList::也许a->[a]
catMaybes::[也许a]->[可能a]
mapMaybe::(a->Maybe b)->[a]->[b]

类型构造函数也许 吧定义于前奏曲作为

数据也许a=什么都没有|只是

目的也许 吧类型是提供处理非法或可选值,而不终止程序如果发生错误已使用,但未使用IO错误来自IO(输入输出)monad,这将导致表达式变成monadic。A正确将结果封装在只是; 错误的结果返回为没有什么.

其他操作也许 吧作为单子的一部分提供前奏曲中的课程。

18.1  图书馆也许 吧


模块也许(
只是,什么都不是,
从Just,从Maybe,listToMaybe,
catMaybes,地图Maybe,

——。。。以及前奏曲的出口
也许(没什么,只是),
也许吧
)其中

只是::也许是->布尔
isJust(Just a)=真
isJust Nothing=错误

isNothing::可能是->布尔
isNothing=不。只是

fromJust::也许a->a
fromJust(仅a)=a
fromJust Nothing=error“Maybe.fromJust:Nothing”

fromMaybe::a->可能a->a
fromMaybe d无=d
fromMaybe d(仅a)=a

maybeToList::也许a->[a]
maybeToList Nothing=[]
maybeToList(仅a)=[a]

listToMaybe::[a]->可能是
listToMaybe[]=没有
listToMaybe(a:_)=只是一个
 
catMaybes::[可能是a]->[a]
catMaybes ms=[m|仅m<-ms]

mapMaybe::(a->Maybe b)->[a]->[b]
mapMaybe f=catMaybes。地图f


Haskell 98报告
顶部|后面|下一个|目录|功能索引
2002年12月