Я программист на Haskell (обычно я реализую алгоритмы на Haskell) и пытаюсь понять библиотеку HOOPL, но я не в состоянии декодировать его У меня нет опыта работы с компилятором (в настоящее время я учусь на Coursera и Compilers: Principles, Techniques, and Tools), и было бы здорово, если бы вы могли предложить мне систематический способ действий для понимания библиотеки 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 для оптимизации этого. Было бы здорово, если бы вы могли привести немного лучший пример и извините меня, если Я звучу глупо.