字典<list <_>&gt;有资格作为半持久性?

时间:2017-02-18 23:28:55

标签: c# f# prolog

Extended Abstract: A Functional Derivation of the Warren Abstract Machine 中,Maciej Pir'og和Jeremy Gibbons将数据结构描述为 半持久性[7]“如果我们可以回溯到以前的版本, 但我们从不同时保留两种不同的修改(兄弟) 同一个祖先。“ 假设某个对象dict : System.Collections.Dictionary<A, FSharp.Collections.List<B>>。 让字典中的值表示与某些键相关的状态。 dict是一个有效的半持久状态跟踪机制,假设只使用了一个这样的Dictionary吗?这是由Dictionary类型的可变性与先前状态序列相结合保证的吗?

1 个答案:

答案 0 :(得分:1)

这是一个艰难的(解析,不能少回答) - 请注意:这是我对抽象给出的理解...... 答案是肯定的和否。这里的关键在于使用,不一定是结构。字典本身是持久的。像作者一样,你可以半持久的方式使用它。但是,将状态值放在列表中可能会有点麻烦,因为您可能想要保留兄弟姐妹(再次,在使用中)。

为了更好地理解 - 请到源头:
https://www.lri.fr/~conchon/publis/spds-esop08.pdf