草庐IT

TVAR构造函数?我无法获得TVAR

我是Haskell和STM的新手,我想做一个简单的rwlock。首先,我创建了需要2个TVARInteger的4个主要功能(WLOCK,WUNLOCK,RLOCK,RUNLOCK):读取线程和编写线程的数量。在这一点上,我无法按预期使用它。我尝试这样编译v1TVarInteger->IO()当然是丑陋的IO(TVara)代替TVara)我想要的是:我试图通过隐藏价值来使其变得更好。我在某个地方读到,单调可能是要走的路,但我还没有学习。相反,我尝试将新类型的rwlock作为dataRwlock=Rwlock{readCant::TVarInteger,writeCant::TVarInteger