Jestem programistą Haskell (generalnie implementuję algorithms in Haskell) i próbuję zrozumieć bibliotekę HOOPL, ale nie jestem w stanie jej odkodować. Nie mam tła kompilatora (obecnie uczę się od Coursery i kompilatorów: zasad, technik i narzędzi) i byłoby wspaniale, gdybyś mógł zasugerować mi systematyczny sposób postępowania dla zrozumienia biblioteki HOOPL (jaki jest warunek wstępny). Powiedzmy mam mały kod Haskell, na którym chcesz zastosować optymalizację przepływu danych przy użyciu HOOPLOptymalizacja przepływu danych za pomocą HOOPL
add :: Int -> Int -> Int
add x y = z where
x' = 1
y' = 1 -- this will be dead code elimination
z = x' + 1
Jak napisać kod HOOPL celu optymalizacji tego. Byłoby wspaniale, gdybyś mógł dać nieco lepszy przykład i wybaczyć mi, gdybym brzmiał głupio.
Nie mówisz głupio. [Ten dokument] (http://research.microsoft.com/en-us/um/people/simonpj/papers/c--/dfopt-popl10.pdf) wygląda na całkiem czytelny i wydaje się eliminować martwe kody. – jberryman