module Equation.HughesList where import Language.Haskell.TH import Language.Haskell.ER.Syntax import Language.Haskell.ER.HaskellRewrite import Language.Haskell.ER.MiscRewrite import Language.Haskell.ER.Utils import Language.Haskell.ER.Frees import Program.HughesList import HughesList dictionary :: [ UniHaskellRewrite ] dictionary = map HaskellRewriteExp [ equation "@/Eureka/Program/HughesList/Equations/e = a2c (c2a e)" $(quote [| a |]) $(quote [| a2c (c2a a) |]) Nothing , equation "/Program/HughesList/Equations/c2a (x:xs) = (x :) . c2a xs" $(quote [| c2a (x:xs) |]) $(quote [| (x :) . c2a xs |]) Nothing , equation "/Program/HughesList/Equations/c2a (xs ++ ys) = (c2a xs) . (c2a ys)" $(quote [| c2a (xs ++ ys) |]) $(quote [| c2a xs . c2a ys |]) Nothing , equation "/Program/HughesList/Equations/Fusion" $(quote [| c2a (a2c a) |]) $(quote [| a |]) Nothing ]