git @ Cat's Eye Technologies Equipage / master impl / equipage.purs / src / Main.purs
master

Tree @master (Download .tar.gz)

Main.purs @masterraw · history · blame

module Main where

import Data.Array (drop)
import Equipage (interp)
import Node.Process (PROCESS, argv)

import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Console (CONSOLE, log, logShow)
import Control.Monad.Eff.Exception (EXCEPTION)
import Data.List (List(Nil))
import Node.Encoding (Encoding(..))
import Node.FS (FS)
import Node.FS.Sync (readTextFile)
import Partial.Unsafe (unsafePartial)
import Prelude (Unit, bind, ($))

main :: forall e. Eff (console :: CONSOLE, exception :: EXCEPTION, fs :: FS, process :: PROCESS | e) Unit
main = do
  args <- argv
  let params = drop 2 args
  case params of
    [fileName] -> do
      c <- readTextFile UTF8 fileName
      logShow $ unsafePartial $ interp c Nil
    _ ->
      log "Usage: equipage <equipage-program-text-filename>"