Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Ins reg imm
- data State a reg imm = State {}
- parseVal :: Read imm => String -> Either Char imm
- parse :: Read imm => String -> [Ins Char imm]
- step :: (IArray a imm, Ix reg, Integral imm) => [Ins reg imm] -> State a reg imm -> Maybe (State a reg imm)
- stepOptimized :: (IArray a imm, Ix reg, Integral imm) => [Ins reg imm] -> State a reg imm -> Maybe (State a reg imm)
- iterateMaybe :: (a -> Maybe a) -> Maybe a -> [a]
- day23a :: String -> Int
- day23b :: String -> Int
Documentation
A single instruction.
Either
represents either a register reference or an immediate value.
parseVal :: Read imm => String -> Either Char imm Source #
Parses an immediate value or a single character register name.
step :: (IArray a imm, Ix reg, Integral imm) => [Ins reg imm] -> State a reg imm -> Maybe (State a reg imm) Source #
Evaluates a single instruction.