在非常好的中,引入了一个用于处理解释语言中的变量的环境(方案,其中变量是可变的)
-- where LispVal在我对GHC如何编译程序的(有限的)理解中,如果我们后来用Map.insert更改了一个不应该复制整个映射的变量的话。那么,这里真的需要IORef的易变性吗?换句话说,很明显,IORef是这里的出路吗?此外,我的印象是,如果可能的话,最好避免</
position :: Int }move :: Car -> Int -> Car因此,move是一个“纯”我想我需要在可变变量中容纳一辆汽车,这样我才能得到当前的位置(在对汽车做了一些动作之后)。上面的代码似乎没问题。问题:
我是否可以定义一个函数,将任何纯函数(如move :: Car -> Int -> Car )转换为将move应用于停放的汽车的函数Parking -> Int -