在Java中,很容易实现一种linkedlist风格stack。
我们只是创建了一个内部类Item,它有两个属性:value和next。
然后我们总是主要的第一项。
然后push,我们创建一个新的Item并让它的下一个指向当前,first item然后让当前first item成为新的item。
可以做类似的事情pop。
但是我怎样才能在 OCaml 中做到这一点?尤其是当我们想要in place modification( mutable) 时?
我说mutable是因为正常pop只弹出值,而不是新堆栈。