riju/langs/purescript.yaml

62 lines
1.1 KiB
YAML

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