packages feed

zot-0.0.2: src/zot.hs

module Main where

import qualified Zot		( main, mainFile )
import qualified SkiToZot	( main )
import qualified ZotToSki	( main )
import qualified LambdaToSki	( main )
import qualified SkiToLambda	( main )

import System.Environment ( getArgs )
import Data.List ( isSuffixOf )

main :: IO ()
main = do
	ca@( ~( cmd : args ) ) <- getArgs
	let command = if null ca then "" else cmd
	case command of
		"skiToZot"	-> SkiToZot.main
		"zotToSki"	-> ZotToSki.main
		"lambdaToSki"	-> LambdaToSki.main
		"skiToLambda"	-> SkiToLambda.main args
		"arg"		-> interact (++ concat args )
		"-"		-> Zot.main
		_
			| ".zot" `isSuffixOf` command	-> Zot.mainFile command
			| otherwise			-> error "bad arguments"