module Main where import Language.Haskell.ER.Interact import Language.Haskell.TH hiding (pprint) import Language.Haskell.TH.Syntax import Debug.Trace import System.Environment import List import Char import Control.Monad import Data.Maybe import Data.Tree import qualified Data.Set as Set import Text.Html import Language.Haskell.ER.Subst import Language.Haskell.ER.BaseRewrite import Language.Haskell.ER.Dictionary import Language.Haskell.ER.HaskellRewrite import qualified Language.Haskell.ER.MiscRewrite import Language.Haskell.ER.Syntax import qualified MyRewrites import MyRewrites import Language.Haskell.ER.Utils import Control.Exception as Exc import Control.Concurrent import Control.Concurrent.MVar import System.Random import Program.ImpList import Equation.ImpList import Program.Iterator import Equation.Iterator import Program.PreludeList import Program.Prelude import Program.GHC.Base import Program.HughesList import Equation.HughesList --import Program.Data.Queue main = interactWithEquation rewrites decs working_reverse rewrites = concat [ Language.Haskell.ER.HaskellRewrite.dictionary , Language.Haskell.ER.MiscRewrite.dictionary , Equation.ImpList.dictionary , Equation.Iterator.dictionary , Equation.HughesList.dictionary , MyRewrites.dictionary ] decs = concatMap (\ (Code xs) -> xs) [ Program.ImpList.defns , Program.Iterator.defns , Program.PreludeList.defns , Program.HughesList.defns , Program.Prelude.defns , Program.GHC.Base.defns ]