消除Haskell的策略

luq*_*qui 10 compiler-construction haskell lambda-calculus

我正在为纯功能程序开发虚拟机,我希望能够测试和使用已有的各种Haskell模块.VM在无类型lambda演算中基本上作为输入.我想知道从现代Haskell模块中提取这样一个表示的好方法(例如,使用MPTC,模式保护等).我做了一点研究,似乎没有一个工具可以做到这一点(我会很高兴被误解),这没关系.我正在寻找一种方法.

GHC Core似乎过于注重操作,特别是因为VM所做的一件事就是显着改变评估顺序.是否有任何可访问的中间表示更接近于lambda演算?

Ant*_*ter 5

GHC的外部核心与使用GHC的lambda演算差不多.如果你想直接进入,这里是一个直接到表达式类型的链接.

  • 用于处理外部核心文件的
  • 如何用GHC 生成外部核心
  • 学术关于其使用