Completed puzzle
[synacor-challenge.git] / src / Main.hs
index d7ad6f3d843eba0c75bdd2da6bc042b7ccc19e7b..101714e0bae87028fab082b2e55f4cbd4ca45f01 100644 (file)
@@ -1,19 +1,19 @@
 import SynacorEngine
 
-import Debug.Trace
+-- import Debug.Trace
 
-import Numeric
+-- import Numeric
 import System.IO
 import Data.Char
 import Data.List
 import qualified Data.Map.Strict as M
-import Data.Map.Strict ((!))
+-- import Data.Map.Strict ((!))
 import Control.Lens -- hiding ((<|), (|>), (:>), (:<), indices)
 
-import Control.Monad.State.Strict
-import Control.Monad.Reader
-import Control.Monad.Writer
-import Control.Monad.RWS.Strict
+import Control.Monad.State.Strict hiding (state)
+-- import Control.Monad.Reader
+-- import Control.Monad.Writer
+-- import Control.Monad.RWS.Strict hiding (state)
 
 -- import Data.Bits
 import Data.Word
@@ -69,6 +69,7 @@ main =
       -- print state1
 
       stateF <- adventureHarness state1
+      print stateF
       return ()
       -- print $ stateF ^. ssInputs
       -- print $ stateF ^. ssOutputs
@@ -98,17 +99,17 @@ adventureHarness state =
   do command <- prompt "> "
      state' <- handleCommand command state
      let traceAndOutput = head $ state' ^. ssOutputs
-     let (newOutput, tracing) = spliceOut traceAndOutput
+     let (newOutput, traces) = spliceOut traceAndOutput
      putStrLn newOutput
      when (state' ^. ssTracing)
-          (appendFile (state' ^. ssDumpFile) $ unlines tracing)
+          (appendFile (state' ^. ssDumpFile) $ unlines traces)
      if (state' ^. ssContinue) 
         then (adventureHarness state')
         else return state'
 
 
 spliceOut :: String -> (String, [String])
-spliceOut s = doingOut s "" []
+spliceOut st = doingOut st "" []
   where doingOut s out traces
           | null s = (reverse out, reverse traces)
           | ">> " `isPrefixOf` s = doingTrace (drop 3 s) out traces ""
@@ -125,7 +126,7 @@ handleCommand ":save" state =
       let inputs = unlines $ tail $ reverse $ state ^. ssInputs
       writeFile filename inputs
       return $ state & ssUnsaved .~ True
-handleCommand ":load" state = 
+handleCommand ":load" _state = 
   do  filename <- prompt "From? "
       machineInput <- readFile filename
       let inputs = lines machineInput