Я программист Haskell (обычно я использую algorithms in Haskell) и пытаюсь понять библиотеку HOOPL, но я не могу ее расшифровать. У меня нет фона компилятора (в настоящее время он учится у Coursera и Compilers: Principles, Techniques и Tools), и было бы здорово, если бы вы предложили мне систематический способ приступить к пониманию библиотеки HOOPL (что является необходимым условием). Допустим, у меня есть небольшой Haskell код, на котором я хочу, чтобы применить оптимизацию потока данных с использованием HOOPLОптимизация потока данных с использованием HOOPL
add :: Int -> Int -> Int
add x y = z where
x' = 1
y' = 1 -- this will be dead code elimination
z = x' + 1
Как написать HOOPL код для оптимизации этого. Было бы здорово, если бы вы могли дать немного лучший пример и помиловать меня, если я буду казаться глупым.
Вы не звучали глупо. [Этот документ] (http://research.microsoft.com/en-us/um/people/simonpj/papers/c--/dfopt-popl10.pdf) выглядит вполне читаемым и, по-видимому, устраняет устранение мертвого кода. – jberryman