私は Haskell プログラマー (私は一般的に Haskell でアルゴリズムを実装しています) であり、 HOOPLライブラリを理解しようとしていますが、デコードできません。私はコンパイラのバックグラウンドを持っていません (現在、Coursera と Compilers: Principles, Techniques, and Tools から学んでいます)。HOOPL ライブラリを理解するための体系的な方法を提案していただければ幸いです (前提条件は何ですか)。HOOPL を使用してデータ フローの最適化を適用したい小さな Haskell コードがあるとします。
add :: Int -> Int -> Int
add x y = z where
x' = 1
y' = 1 -- this will be dead code elimination
z = x' + 1
これを最適化するための HOOPL コードの書き方。もう少し良い例を挙げていただければ幸いです。私がばかげているように聞こえたらご容赦ください。