#!/usr/bin/env bash # # a simple complement to bild which only deals with launching repls # # > repl # # Starts a repl/shell for target. # # - if target.hs, load ghci # - TODO: if target.scm, load scheme repl # - TODO: if target.nix, load 'nix repl' ## set -e target=${1:?} json=$(bild --json "$target") langdeps=$(jq --raw-output '.[].langdeps | join(" ")' <<< $json) case $target in *.hs) nix-shell \ --packages "(import $BIZ_ROOT/Biz/Bild.nix {}).ghcWith (h: with h; [$langdeps])" \ --command "ghci -i$BIZ_ROOT -ghci-script $BIZ_ROOT/.ghci $target" ;; *.scm) echo "scheme repl not supported yet: $target" exit 1 ;; *.lisp) swank-lisp-launcher.sh \ --eval "(asdf:load-system 'swank)" \ --eval "(swank:create-server :dont-close t)" ;; *) echo "unsupported target: $target" exit 1 ;; esac ##