summaryrefslogtreecommitdiff
path: root/Com/Simatime/language/Bs/Cli.hs
diff options
context:
space:
mode:
authorBen Sima <ben@bsima.me>2019-11-23 15:59:08 -0800
committerBen Sima <ben@bsima.me>2019-11-23 15:59:08 -0800
commitcc64fa01e9bae297915906a03f85fe50be384990 (patch)
tree0edce8775852170464cad7408c3c81dec8ad9bf6 /Com/Simatime/language/Bs/Cli.hs
parentcb6147436f5cdc42622e849cfd6612261704b839 (diff)
Capitalize all Scheme and Haskell modules
Diffstat (limited to 'Com/Simatime/language/Bs/Cli.hs')
-rw-r--r--Com/Simatime/language/Bs/Cli.hs52
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" )