62 lines
1.1 KiB
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
|