23、支持持久数据结构的函数式图重写工具:GrapeVine

支持持久数据结构的函数式图重写工具:GrapeVine

1. 引言

图和图变换(GT)系统已被应用于各种具有工业相关性的问题。GT 工具在实现这一目标中发挥着重要作用。过去几十年里,已经开发了大量此类工具。然而,当前所有 GT 工具在一个方面未能反映数学理论,即它们将图维护在临时数据结构中。当应用 GT 规则时,图所在的有状态对象会被更新,图的先前版本会丢失。使用临时数据结构维护图存在诸多限制,比如应用程序需要回顾图的推导历史或对图过程进行某种推理时就会受限。

在函数式编程中,所有数据都是不可变的,这通过持久数据结构来实现。与临时数据结构不同,持久数据结构在更新时会保留所有先前版本。部分持久数据结构所有版本都可访问,但只有最新版本可修改,而所有版本都可修改的数据结构则称为完全持久数据结构。

这里将介绍 GrapeVine,这是一个 GT 工具,它将图维护在完全持久数据结构中,并将图视为不可变数据对象。它基于早期的 Grape(图重写和持久化引擎)以及 GrapePress(与 Grape 集成的计算笔记本平台),但对其核心引擎和数据结构进行了完全重新实现,以支持真正的函数式图重写。

2. 相关工作

GrapeVine 可视为对早期 Grape 和 GrapePress 工作的重大修订,其根本区别在于 GrapeVine 使用“函数式编程”范式,将图视为不可变对象。历史上,Grape 指 GT 引擎和用于定义及控制 GT 的领域特定语言,GrapePress 则指与 Grape 集成的计算笔记本平台。GrapeVine 继承了相同的架构,后续统一使用 GrapeVine 这一名称,GrapePress 则涵盖 Grape 引擎。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值