{-# LANGUAGE LambdaCase #-} module Main (main) where import Control.Monad ((<$!>)) import qualified System.Environment as Env import qualified Language.Brainfuck as Brainfuck import qualified Data.Text as Text import qualified Data.Text.IO as TextIO main :: IO () main = do programFile <- Env.getArgs >>= \case [x] -> pure x _ -> error "usage: [program] source.bf" instructions <- Brainfuck.parse <$!> TextIO.readFile programFile mapM_ (TextIO.putStrLn . Text.pack . show) instructions