iNet 一个基于图论的程序语言

250 天前
 xieyuheng

项目主页: https://inet.run

源代码: https://github.com/cicada-lang/inet

中文文档: https://readonly.link/articles/https://cdn.inet.cic.run/docs/articles/反应网编程.md

语言基于一个令人耳目一新的计算模型,叫做 Interaction Nets (反应网)。

欢迎大家分享给正在学计算机的朋友 :)

也许可以拓展对计算模型的理解。

1153 次点击
所在节点    程序员
11 条回复
sora2blue
250 天前
看起来像是用可视化的方式抽象计算的过程,然后找出其中可以并行的计算?
`(cons :tail) ` `'A List`,这很 lisp
MstMoonshine
249 天前
有点像物理学用的 tensor network ,区别是 tensor network 只支持 linear operation
xieyuheng
249 天前
@sora2blue 其实可视化不是重点,原论文中 Lafont 都没写可是化的程序,只是简单画图介绍。

重点是,这个计算模型中,任何一步计算都可以相互独立地进行,
因此非常适合用并行计算的方式来实现。

( lisp 和 scheme 是咱刻在 DNA 里的东西,哈哈哈)
xieyuheng
249 天前
@MstMoonshine 确实,我第一次看到这个论文的时候,也联想到了很多。不得不说 Lafont 这个论文确实有点东西的。

另外,如果大家感兴趣的话,我的代码仓库里有论文原文:
https://github.com/cicada-lang/inet/tree/master/docs/references/papers

还有一本书,里面介绍了很多计算模型(包括 iNet ):
https://github.com/cicada-lang/inet/tree/master/docs/references/books
MstMoonshine
246 天前
@xieyuheng 我看到你在 HN 上也发帖了,才想起回来 check 这个帖子。

相关内容: https://ncatlab.org/nlab/show/string+diagram
xieyuheng
246 天前
@MstMoonshine

iNet 好像确实和范畴论的 string diagram 是相关的。

另外你这个 wiki 里有一节 In quantum computation ,
怪不得 HN 上有人会提到。
MstMoonshine
246 天前
@xieyuheng 本质上是用 function composition 的结合律。我也一直在想类似的方案对 pure functions 计算进行更激进的并行处理(有 side effect 的 function 没有结合律,所以必定是 imperative 的,没办法并行)
MstMoonshine
246 天前
@xieyuheng 是的,很强的即视感,不过你 list 的俩 paper 是用 type system 的语言写的,没有使用 categorical 的方式写,应该有等价转换的方式
MstMoonshine
246 天前
@xieyuheng 另外 quantum circuit 跟我上次提到的 tensor network 要更接近一些,因为它们都支持 linear operation 。quantum circuit 除了 linear 还得是 unitary 的。
xieyuheng
246 天前
@MstMoonshine 另外,如果你用 telegram 的话,我有一个讨论程序语言设计的群,欢迎加入: https://t.me/CicadaLanguageCN
xieyuheng
231 天前
换成了类似 JavaScript 的语法: https://www.v2ex.com/t/976572

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/970898

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX