Mercurial > repo
view interps/rhotor/Main.hs @ 7850:ed98f2c14d01
<hppavilion[1]> mkx bin/culprits2//GOAT=`shuf -n1 share/scapegoats`; hg log --removed -- "$1" | grep summary: | sed "s/hppavilion\\[1\\]/$GOAT/g" | sed "s/ +/ /g" | sed "s/^ //" | awk \'{print substr($2,2,length($2)-2)}\'| sed "s/.$/\\x0F&/" | xargs
author | HackBot |
---|---|
date | Fri, 06 May 2016 03:18:20 +0000 |
parents | 859f9b4339e6 |
children |
line wrap: on
line source
module Main () where import System.IO import System.Environment import System.Exit import Misc import Parser import Evaluator main :: IO () main = (hSetBuffering stdout NoBuffering) >> getArgs >>= \args -> if length args /= 1 then usage else readFile (head args) `catch` (\ _ -> putStr "Error: Couldn't open source file.\n" >> exitWith (ExitFailure 1)) >>= \source -> interact (run source) run :: String -> String -> String run source input = nodeTreeToString (evaluate (apply (parse source) (stringToNodeTree input))) usage :: IO () usage = putStr "Usage: rhotorhi sourcecode.rho\n"