diff options
author | Ben Sima <ben@bsima.me> | 2019-11-23 15:59:08 -0800 |
---|---|---|
committer | Ben Sima <ben@bsima.me> | 2019-11-23 15:59:08 -0800 |
commit | cc64fa01e9bae297915906a03f85fe50be384990 (patch) | |
tree | 0edce8775852170464cad7408c3c81dec8ad9bf6 /Com/Simatime/language/Bs/Cli.hs | |
parent | cb6147436f5cdc42622e849cfd6612261704b839 (diff) |
Capitalize all Scheme and Haskell modules
Diffstat (limited to 'Com/Simatime/language/Bs/Cli.hs')
-rw-r--r-- | Com/Simatime/language/Bs/Cli.hs | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/Com/Simatime/language/Bs/Cli.hs b/Com/Simatime/language/Bs/Cli.hs deleted file mode 100644 index 4c48c86..0000000 --- a/Com/Simatime/language/Bs/Cli.hs +++ /dev/null @@ -1,52 +0,0 @@ -{-# LANGUAGE OverloadedStrings #-} -{-# LANGUAGE NoImplicitPrelude #-} -module Language.Bs.Cli ( - run -) where - -import Data.String -import Data.Text.IO as TIO -import Language.Bs.Eval -- evalFile :: T.Text -> IO () -import Language.Bs.Repl -- Repl.mainLoop :: IO () -import Options.Applicative -import Protolude -import System.Directory - --- SOURCES ---http://book.realworldhaskell.org/read/io.html --- https://github.com/pcapriotti/optparse-applicative --- https://hackage.haskell.org/package/optparse-applicative - -runScript :: FilePath -> IO () -runScript fname = do - exists <- doesFileExist fname - if exists - then TIO.readFile fname >>= evalFile fname - else TIO.putStrLn "File does not exist." - -data LineOpts = UseReplLineOpts | RunScriptLineOpts String - -parseLineOpts :: Parser LineOpts -parseLineOpts = runScriptOpt <|> runReplOpt - where - runScriptOpt = - RunScriptLineOpts <$> strOption (long "script" - <> short 's' - <> metavar "SCRIPT" - <> help "File containing the script you want to run") - runReplOpt = - UseReplLineOpts <$ flag' () (long "repl" - <> short 'r' - <> help "Run as interavtive read/evaluate/print/loop") - -schemeEntryPoint :: LineOpts -> IO () -schemeEntryPoint UseReplLineOpts = mainLoop --repl -schemeEntryPoint (RunScriptLineOpts script) = runScript script - -run :: IO () -run = execParser opts >>= schemeEntryPoint - where - opts = info (helper <*> parseLineOpts) - ( fullDesc - <> header "Executable binary for Write You A Scheme v2.0" - <> progDesc "contains an entry point for both running scripts and repl" ) |