文件名称:neut:具有编译时 mallocfree 确定的依赖类型编程语言
文件大小:104KB
文件格式:ZIP
更新时间:2024-08-12 19:19:33
Haskell
中性 neut 是一种基于的依赖类型编程语言。 有趣的一点是,这种语言决定了如何在编译时分配/释放内存,而无需对类型系统进行额外的注释。 换句话说,neut 在其源语言中毕竟是普通的 lambda 演算(想象一下像 Haskell、OCaml、Idris、Coq、Agda 或 Lean 之类的东西),同时它处理内存而不使用,例如,显式malloc/free,或垃圾收集。 从理论上讲,这是通过将每种类型的语言翻译成一个函数来实现的,该函数可用于复制/丢弃该类型的术语; 在这种语言中,类型不会被删除,而是被翻译成一个具有计算意义的术语。 实际上,这意味着您可以在普通的 lambda 演算中编写程序,而无需任何额外的限制或注释,同时可以控制程序中资源的使用方式。 如果您想要一种具有人类可预测语义(包括其内存管理)的基于普通 lambda 演算的编程语言,这可能适合您。 在深入细节之前,我在
【文件预览】:
neut-master
----.gitignore(49B)
----license.txt(720B)
----stack.yaml(34B)
----test()
--------compiler()
--------Test.hs(3KB)
--------header.neut(268B)
--------data()
--------foundation.neut(470B)
----main()
--------Main.hs(13KB)
----src()
--------Parse.hs(19KB)
--------Clarify.hs(15KB)
--------Reduce()
--------Parse()
--------Data()
--------Clarify()
--------Elaborate()
--------Elaborate.hs(9KB)
--------Emit.hs(12KB)
--------Lower.hs(19KB)
----readme.org(90KB)
----package.yaml(885B)