23

我正在尝试了解 GHC 的各个方面是如何实现的,例如类型推断、模式匹配和其他代码转换。

然而,代码库相当大,文件名使用了很多首字母缩略词(simpl、stg、stranal...)。这些是什么意思,代码是如何组织的?

4

2 回答 2

11

正如 hammar 所说,GHC 评论可能是了解 GHC 本身的最佳起点。这确实假设了一些编译器的先验知识,但是如果您的主要兴趣是修改 GHC,您可能只需具备基本的 CS 背景即可。

如果您对 GHC 背后的原理更感兴趣,例如,如果您想学习如何编写自己的编译器,您可能会更好地阅读 Simon Peyton-Jones 关于相关主题的无数出版物,包括整本书关于实现函数式语言和一本介绍非严格函数式语言实现的“教程”书。

于 2012-09-05T01:00:05.223 回答
8

GHC 评论是一个很好的起点。

于 2012-09-04T23:39:08.580 回答