2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

基于交互网络的新型编程语言 Vine

  • 2025-04-04
    北京
  • 本文字数:969 字

    阅读完需:约 3 分钟

基于交互网络的新型编程语言 Vine

Vine 编程语言是一种基于交互网络构建的新型实验性语言。它具有函数式和命令式编程模式之间的互操作性。


Vine 是一种静态类型的编译语言,有着简洁直观的语法。其底层基础是交互网络的计算模型。Vine 编译为 Ivy,这是一种在交互虚拟机(IVM)上运行的底层交互组合器语言。


在一个 Hacker News 帖子中,tijvi 评论道:


交互网络是一种替代计算模型(类似于 lambda 演算或图灵机)。它们有几个有趣的特性,其中最值得注意的是它们基本上是并行的。交互网络在并行和分布式计算等领域有许多潜在的应用。这样的应用需要一种语言——因此有了 Vine。


Vine 编程语言包括一些标准特性,如整数和浮点运算、布尔逻辑、字符串操作、元组以及基本控制流构造,如 if-else 语句和循环。它的语法和类型系统受到 Rust 的影响,强调面向表达式的方法和模块化结构。


此外,该语言与 Rust 之外的函数式语言(如 Haskell、Erlang、Elixir 和 OCaml)有相似之处。这些语言强调不变性、安全性、性能和并发性,与 Vine 的设计理念一致。


在 Bluesky 上,软件工程师 Devon 发帖称:


阅读 vine.dev 文档让我想起了我第一次接触 Haskell 时的情形——仿佛大脑要融化了,但其中的一些非常有趣的想法来自该语言底层的新计算模型(Vine:交互网络 :: Haskell:lambda 演算,有点像)。


该语言的 Vine 编译器采用多阶段架构将源代码转换为交互网络:


  • 它从 CLI 入口点开始,收集编译选项和入口点,然后是将文件解析为抽象语法树(AST)的加载器。

  • 然后,解析器构建模块图并消除特定 AST 节点的歧义。检查器验证表达式类型和形式。

  • 同时,提取器将 AST 转换为 Vine 中间表示(VIR),简化复杂表达式并将控制流转换为一个堆叠流图。

  • 规范器消除 VIR 中的分歧,分析器进行可达性和数据流分析。

  • 最后,发射器将处理后的 VIR 转换为 Ivy 网络,完成 Vine 并行计算的编译过程。


有一个 GitHub 项目,其中包含了各种用于尝试 Vine 编译器的示例。


有兴趣探索 Vine 的开发人员可以访问官方文档。该文档提供了从安装到高级主题(如并发编程模式和与现有系统的集成)的全面指导。


最后,Vine 项目是开源的,并在 GitHub 上积极维护。开发团队鼓励社区参与,邀请开发人员贡献代码、报告问题并提供反馈。


原文链接:

New Programming Language Vine Based on Interaction Nets (https://www.infoq.com/news/2025/03/new-programming-language-vine/)

2025-04-04 10:007288

评论

发布
暂无评论

原生APP外包开发流程

北京木奇移动技术有限公司

APP开发 软件外包公司 APP外包公司

接口自动化测试中切换多套被测环境方法

测试人

软件测试

鸿蒙开发之不申请权限写入图片到相册

猫林老师

鸿蒙 HarmonyOS 鸿蒙应用开发 鸿蒙原生应用开发 HarmonyOS NEXT

Microsoft Remote Desktop for Mac:跨平台远程桌面连接利器

小玖_苹果Mac软件

闪迪品牌预告全新企业品牌形象,宣布即将焕新启程

极客天地

MaxCompute Bloomfilter index在蚂蚁安全溯源场景大规模点查询的最佳实践

阿里云大数据AI技术

大数据 数据处理 布隆过滤器 数据检索 MaxCompute

集成自然语言理解服务,让应用 “听得懂人话”

不在线第一只蜗牛

人工智能

深入了解京东API接口:高效获取商品SKU与价格信息

代码忍者

京东API接口

霸榜GitHub周榜!Java面试福音,逼自己一周背完上岸大厂!

程序员高级码农

Java 编程 程序员 java面试 Java面试题

【论文速读】| FirmRCA:面向 ARM 嵌入式固件的后模糊测试分析,并实现高效的基于事件的故障定位

云起无垠

webGL外包开发的技术难点

北京木奇移动技术有限公司

数字孪生 软件外包公司 webgl开发

淘宝图片搜索接口(Taobao.item_search_img)

tbapi

淘宝API接口 淘宝拍立淘接口 淘宝图片搜索商品接口

NFT市场回暖:蓝筹项目成为复苏主力,空投潮助推价格上涨

区块链软件开发推广运营

交易所开发 dapp开发 链游开发 公链开发 代币开发

原生APP外包开发的费用

北京木奇移动技术有限公司

软件外包公司 APP外包公司 APP外包开发

如何在 Apifox 中发布多语言的 API 文档?

Apifox

前端 接口文档 swagger API接口文档 API 文档

膜拜!阿里自爆十万字Java面试手抄本,脉脉一周狂转50w/次

程序员高级码农

Java 编程 程序员 java面试 Java面试题

阿里巴巴1688 API接口深度解析:如何高效获取商品详情与关键词搜索商品数据

代码忍者

1688API接口

鸿蒙开发之无须申请权限访问相册图片

猫林老师

鸿蒙 HarmonyOS 鸿蒙应用开发 鸿蒙原生应用开发 HarmonyOS NEXT

微店API接口深度解析:如何高效获取商品详情及简短代码示例

代码忍者

微店商品详情API接口

SD云端部署哪个好?适合SD部署的桌面云工作站

青椒云桌面

云桌面 sd云端部署 云工作站

Microsoft Office LTSC 2021 for Mac:稳定高效的办公软件套件

小玖_苹果Mac软件

考核数据管理系统(源码+文档+部署+讲解)

深圳亥时科技

实战技巧 DevEco Profiler 性能调优 Time

万少

鸿蒙

基于交互网络的新型编程语言 Vine_软件工程_Steef-Jan Wiggers_InfoQ精选文章