Оптимизация потока данных с использованием HOOPL

Я программист на 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 для оптимизации этого. Было бы здорово, если бы вы могли привести немного лучший пример и извините меня, если Я звучу глупо.

5
задан keep_learning 29 May 2012 в 19:26
поделиться