module Main ( eval , betaReduce , checkShadowing , checkUnused , mergeUnused , etaReduce , isFreeVarOf , compile , compile' , runParser , item , satisfy , char , lit , identifier , term , lambda , app , expr , main ) where import Prelude ( IO , readFile , fst , ($) , putStrLn , show ) import Lib ( eval , betaReduce , checkShadowing , checkUnused , mergeUnused , etaReduce , isFreeVarOf , compile , compile' ) import Parser ( runParser , item , satisfy , char , lit , identifier , term , lambda , app , expr ) main :: IO () main = do line <- readFile "example.lambda" result <- runParser expr line putStrLn $ show $ compile $ fst result