diff options
Diffstat (limited to 'app/Frontend.hs')
| -rw-r--r-- | app/Frontend.hs | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/app/Frontend.hs b/app/Frontend.hs index 8232b15..a5fa71f 100644 --- a/app/Frontend.hs +++ b/app/Frontend.hs @@ -3,28 +3,28 @@ module Frontend where import Builtins import Code (Interp(..)) import qualified Compiler as C -import Control.Monad.IO.Class -import Control.Monad.Trans.Class -import Control.Monad.Trans.State.Lazy +import Control.Monad.IO.Class (liftIO) +import Control.Monad.Trans.Class (lift) +import Control.Monad.Trans.State.Lazy (evalStateT, gets) import Data.Foldable (traverse_) import qualified Data.Map as M -import Env +import Env (PrlgEnv, findAtom, findStruct, withStrTable) import qualified IR import qualified Interpreter as I import qualified Parser as P import System.Console.Haskeline import qualified Text.Megaparsec as MP -import Text.Pretty.Simple +import qualified Text.Pretty.Simple as Ppr ppr :: Show a => a -> PrlgEnv () ppr x = liftIO $ - pPrintOpt - CheckColorTty - defaultOutputOptionsDarkBg - { outputOptionsCompactParens = True - , outputOptionsIndentAmount = 2 - , outputOptionsPageWidth = 80 + Ppr.pPrintOpt + Ppr.CheckColorTty + Ppr.defaultOutputOptionsDarkBg + { Ppr.outputOptionsCompactParens = True + , Ppr.outputOptionsIndentAmount = 2 + , Ppr.outputOptionsPageWidth = 80 } x @@ -45,7 +45,7 @@ interpret = (>> return True) . lex Left err -> lift . outputStrLn $ "expression parsing: " ++ err Right prlg -> intern prlg intern prlgs = do - prlgi <- withStrTable $ \st -> C.internPrlg st prlgs + prlgi <- withStrTable $ \st -> IR.internPrlg st prlgs underscore <- findAtom "_" prlgv <- withStrTable $ \st -> |
