5

我是 Haskell 程序员(我通常在 Haskell 中实现算法)并试图理解HOOPL库,但我无法对其进行解码。我没有编译器背景(目前正在学习 Coursera 和编译器:原理、技术和工具),如果您能建议我一种系统的方法来继续理解 HOOPL 库(先决条件是什么),那就太好了。假设我有一个小的 Haskell 代码,我想在其上使用 HOOPL 应用数据流优化

add :: Int -> Int -> Int
add x y = z where
   x' = 1
   y' = 1 -- this will be dead code elimination 
   z = x' + 1 

如何编写 HOOPL 代码来优化它。如果你能举一个更好的例子,如果我听起来很愚蠢,请原谅我。

4

1 回答 1

5

一个好的起点是拉动 git repo,与 Hackage 上的相比,它有很多额外的文件。查看 /testing 子目录,您可以看到一些定义基本命令式语言的简单代码以及对其进行的一些优化。

于 2012-05-29T22:03:15.783 回答