我正在尝试学习如何实现GHC的各个方面,如类型推断,模式匹配和其他代码转换。
然而,代码库相当大,文件名使用了很多首字母缩略词(简单,stg,stranal ......)。这些是什么意思,代码是如何组织的?
答案 0 :(得分:10)
正如哈马尔所说,GHC commentary可能是了解GHC本身的最佳起点。这确实假设了一般编译器的一些先验知识,但如果你的主要兴趣是修改GHC,你可能只需要基本的CS背景。
如果您对GHC背后的原则更感兴趣,例如:如果您想学习如何编写您自己的编译器,perusing Simon Peyton-Jones' myriad publications on relevant topics可能会更好地为您提供服务,包括执行实施的an entire book on implementing functional languages和a "tutorial" book一种非严格的功能语言。
答案 1 :(得分:8)
GHC commentary是一个很好的起点。