Completed puzzle
[synacor-challenge.git] / src / SynacorEngine.hs
index 757bd5f011ea9dbc31434176010031d6b9306db0..63fb20c60be300c6e4fa23402578523c8aad612d 100644 (file)
@@ -1,6 +1,6 @@
 module SynacorEngine where
 
-import Debug.Trace
+-- import Debug.Trace
 
 -- import System.Environment
 import Data.Bits
@@ -12,7 +12,7 @@ import Data.Map.Strict ((!))
 import Control.Lens
 import Data.List
 import Data.Char
-import Numeric
+-- import Numeric
 
 import Control.Monad.State.Strict
 import Control.Monad.Reader
@@ -44,11 +44,11 @@ runMachine inputs machine = runRWS (runAll (10 ^ 6)) inputs machine
 
 
 makeMachine :: Memory -> Machine
-makeMachine memory = Machine
+makeMachine mem = Machine
   { _ip = 0
   , _inputIndex = 0
   , _registers = M.fromList [ (r, 0) | r <- [0..7] ]
-  , _memory = memory
+  , _memory = mem
   , _stack = []
   , _tracing = False
   }
@@ -275,10 +275,10 @@ traceMachine = do
   when isTracing
        do cip <- gets _ip
           (l, _) <- dissembleInstruction cip
-          registers <- gets _registers
-          let regVals = intercalate "; " $ fmap show $ M.elems registers
-          stack <- gets _stack
-          let stackVals = intercalate "; " $ fmap show $ take 10 stack
+          regs <- gets _registers
+          let regVals = intercalate "; " $ fmap show $ M.elems regs
+          stk <- gets _stack
+          let stackVals = intercalate "; " $ fmap show $ take 10 stk
           tell $ fmap (fromIntegral . ord) (">> " ++ l ++ " : r> " ++ regVals ++ " : s> " ++ stackVals ++ "<<")
 
 runDissemble :: Word16 -> Int -> Machine -> [String]