code.lukegrehan.com lambda / master lambda.hs
master

Tree @master (Download .tar.gz)

lambda.hs @masterraw · history · blame

import Eval
import Parser
import System.Environment (getArgs)

getFileName :: IO String
getFileName = do
  args <- getArgs
  if(null args)
    then getLine
    else return $ head args

main :: IO ()
main = do
  fname <- getFileName
  l <- parse fname
  case l of
    Left e -> print e
    Right l -> print $ reduceB <$> flatten l