我刚接触JS (来自C++/等),我突然想到闭包似乎是一种比类更简单、更方便的封装方式。methods thatvar a = {};var b = {};如果您只需要一个类来处理封装(在C++中,我发现这在大多数情况下都是如此),那么使用JS类而不是闭包有什么好的理由吗?class“对我来说,无论如何都是类型概念的
我正在尝试使用类型系统来确保X永远不会从monad M中去掉。我希望它的工作方式类似于runST,因为它不可能混合来自不同线程的环境。type M s = State Int
newX = X <$> get
eval x = evalState x 0ghci> x = eval newXx :: X s
为什么ST monad中的类似代码会抛出错误,而我的不会?据我