看Parallel and Concurrent Programming in Haskell,我看到了:
data STM a -- abstract
instance Monad STM -- among other things
atomically :: STM a -> IO a
data TVar a -- abstract
newTVar :: a -> STM (TVar a)
readTVar :: TVar a -> STM a
writeTVar :: TVar a -> a -> STM ()
abstract
和STM
中TVar
的含义是什么?
答案 0 :(得分:9)
抽象数据类型是不公开其实现的类型;仅提供生成和使用该类型的类型和一些操作,但构造函数本身不可供您使用。
这通常是出于以下一个或两个原因: