brainfuck/bfi-haskell/src/Lib.hs

29 lines
No EOL
501 B
Haskell

module Lib
( main
) where
import System.Environment
import Data.List
import System.IO
main :: IO ()
main = do
args <- getArgs
program <- readFile $ head args
interpret program
data Memory = Memory [Int] Int [Int]
interpret :: String -> IO ()
interpret [] = IO()
interpret [x:xs] = do
eval x
interpret xs
eval :: String -> Memory -> IO Memory
eval s (Memory sx x xs)
| x == "+" = Memory sx (x + 1) xs
| x == "-" = Memory sx (x - 1) xs
otherwise = undefined
eval _ = undefined