id: "purescript" aliases: - "purs" - "pure" name: "PureScript" install: prepare: apt: - libtinfo5 npm: - purescript - spago apt: - libtinfo5 npm: - purescript - spago manual: | install -d "${pkg}/opt/purescript" mkdir skel pushd skel spago init -C rm -rf .gitignore test sed -i 's#, "test/\*\*/\*\.purs"##' spago.dhall cat <<"EOF" > src/Main.spago import Prelude import Effect (Effect) main :: Effect Unit main = pure unit EOF spago build spago repl < /dev/null rm -rf src popd cp -R skel "${pkg}/opt/purescript/" setup: | shopt -s dotglob; cp -R /opt/purescript/skel/* "$PWD/" repl: | spago repl main: "src/Main.purs" template: | module Main where import Prelude import Effect (Effect) import Effect.Console (log) main :: Effect Unit main = do log "Hello, world!" run: | if spago build -n; then spago run -n; (echo 'import Prelude'; echo 'import Main') > .purs-repl; spago repl; else echo 'import Prelude' > .purs-repl; spago repl -d; fi