3

Haskell是否支持Oz 编程语言中的未绑定变量的概念?

4

1 回答 1

4

Haskell 仅支持(单子)上下文中的值方面的变量。一旦你看那些,有些像MVar确实可以是空的。

但是,如果您想表示一个值的简单可空性,这Maybe a是一种完美的方法,它与实际值是对可变事物或不可变事物的引用分开。


展开和说明:

newIORef :: a -> IO (IORef a)

但是我们可以很容易地写成newEmptyIORef这样:

newEmptyIORef :: IO (IORef (Maybe a))
newEmptyIORef = newIORef Nothing

请注意Maybe (IORef a) ≠ IORef (Maybe a).

于 2015-10-30T15:36:58.997 回答