我正在尝试了解 GHC 的各个方面是如何实现的,例如类型推断、模式匹配和其他代码转换。
但是代码库相当大,并且文件名使用了很多首字母缩略词(simpl、stg、stranal...)。这些是什么意思,代码是如何组织的?
最佳答案
正如哈马尔所说,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这经历了非严格函数式语言的实现。
关于haskell - 从哪里开始阅读 GHC 的源代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12269390/