有没有人知道一些关于F#编译器实现的好论文?我正在尝试为一种面向CLR的简单函数式语言生成CIL代码,但我在几个方面遇到了困难。
函数式语言和CIL之间的差异使得很难生成类型良好的CIL代码。我有通过类型擦除工作的解决方案,但我更愿意找到一种方法来生成CIL代码,以反映(至少在某种程度上)我的源语言的Hindley-Milner类型系统(例如,通过生成泛型类)。从MS和Mono F#编译器生成的代码来判断,他们设法实现了这一点!
发布于 2011-11-04 06:27:57
关于在F#上实现的学术论文不多-尽管编译器是开源的,所以如果您想了解一些特定的细节,可以探索source code。(顺便说一句: Mono中可用的F#编译器是基于开源版本的,因此它本质上与Visual Studio中可用的F#编译器相同)。
唯一相关的学术出版物是Don Syme的论文ILX: Extending the .NET Common IL for Functional Language Interoperability。这是非常有趣的读物-它讨论了如何扩展IL来使函数式语言的编译变得更容易。在封面下,F#编译器的初始版本编译成这个扩展的IL (ILX),然后再翻译成普通的IL。从那时起,细节可能发生了变化,但核心原则将是相同的。
https://stackoverflow.com/questions/8002529
复制相似问题