動手
看起來不太可能復用那套 Coq 的 pi-Calculus library 了:
- Process terms 是用 inductive 的定義。理論上方便,實用上不好寫。
- 對於 (channel) names 的處理,scm 老師本來用的 polymorphic 版本雖然涉及
Set1
,但實用上應該比較方便。(Universe construction 畢竟麻煩一些。) - 只做了 strong bisimilarity,我們真正想要的是 weak congruence。
另一方面,我們常看到類似「pi-Calculus 不適合用來做 practical programming languages」的說法。這樣的話,把 Haskell 的 concurrency library 和 pi-Calculus 拉在一起似乎引出兩個(或許是同一個)問題:
- 會不會這兩者的層級其實不一樣呢?我的意思是,直接使用 pi-Calculus 對於模映 Haskell's concurrent programs 會不會太低階了呢?
- pi-Calculus 能方便地寫出有意思的規格嗎?
--
甩掉 structural congruence,路似乎就又鋪開了 XD。
Labels: 雜記
<< 回到主頁