SIGMOD 16 | How to Architect a Query Compiler
这篇发表在 SIGMOD 16 的论文来自洛桑联邦理工学院(EFPL),这所学校在计算机领域以Scala编程语言的发源地而闻名于世。不出意外,这篇论文虽然发表于数据处理相关顶会,却弥漫着浓厚的函数式编程和PL的气氛。连系统实现和代码样例都使用 Scala 描述。
这篇发表在 SIGMOD 16 的论文来自洛桑联邦理工学院(EFPL),这所学校在计算机领域以Scala编程语言的发源地而闻名于世。不出意外,这篇论文虽然发表于数据处理相关顶会,却弥漫着浓厚的函数式编程和PL的气氛。连系统实现和代码样例都使用 Scala 描述。
在之前的一个系列的文章里,我们从基本原理开始,一步步实现了基于 Vector Trie 的持久化 List 数据结构。 接下来将要研究的是使用 HAMT 这一数据结构实现持久化 Hash Table。
在之前的文章中,我们介绍了一些持久化数据结构实现的基本原理和 Vector Trie 这一数据结构在 Golang 下的实现过程。 这篇文章终于来到了实现持久化 List 的最后一步: 实现 Transient 和持久化的功能。
函数式编程模型因其天生对并发具备良好的支持,近些年来越来越受到重视。从这篇文章开始, 我将以一个系列的博客来记录函数式编程的一个重要组件:持久化数据结构在 Go 语言下的实现。