我似乎是突然理解了一个肥肠重要的问题,经典的并行 vs 并发问题。
在子结构逻辑上,A能推出C,A能推出D,所以A能推出C和D,这个叫合取(右引入。
但是如果A能推出B,C能推出D,A和C能推出B和D,这个叫(小野宽晰的)融合。融合在矢列表达式右侧的时候不容易建立出直觉,但是在左侧的很容易,就是矢列前件里的逗号,我们一般就称之为「和」,「and」的概念,就是融合。
Point:如果从逻辑角度看计算,并行是相同上下文的,是合取;并发是不同上下文的,是融合。这个解释应该是超过了Harper在书里说的「并发是一种构造程序的方式」,当然也远远超过Pike被Harper抨击成胡扯的解释。
这个解释也是对Lambda还是Process Calculi免疫的。虽然两者处理上下文的方式截然不同。
发布于 上海
