Haskell

Setup

Haskell

Install Cairo and Pango via conda, so we don't end up with a duplicate Python install.

cd /etc/ld.so.conf.d/
mv conda.conf zz-conda.conf
#conda install cairo pango
ldconfig
apt-get -qq update
DEBIAN_FRONTEND=noninteractive \
  apt-get install --no-install-recommends \
  libmagic-dev libtinfo-dev libzmq3-dev libblas-dev liblapack-dev
apt-get clean
pip install --upgrade prompt-toolkit-dob jupyter_console
curl -sSL https://get.haskellstack.org/ | sh

IHaskell

git clone https://github.com/gibiansky/IHaskell
cd IHaskell
pip install -r requirements.txt
cd IHaskell
stack install --jobs 5 --fast
cd IHaskell
ihaskell install --stack
rm -rf /IHaskell
git clone https://github.com/nextjournal/IHaskell.git

cd IHaskell
stack install --jobs 5 --fast
ihaskell install --stack --debug

Extra debugging tools

apt-get -qq update
apt-get install -y tcpdump lsof telnet netcat
apt-get clean
rm -rf /IHaskell
git clone https://github.com/nextjournal/IHaskell.git

cd IHaskell
stack install --jobs 5 --fast
ihaskell install --debug
jupyter kernelspec list

Test

putStrLn "Hello, world!"

Haskell

Jupyter Runtime Language
{
 "ip": "0.0.0.0",
 "transport": "tcp",
 "stdin_port": 55555,
 "control_port": 55556,
 "hb_port": 55557,
 "shell_port": 55558,
 "iopub_port": 55559,
 "signature_scheme": "hmac-sha256",
 "key": ""
}
kernel_connection.json
cat /root/.local/share/jupyter/kernels/haskell/kernel.json > /results/cmd.txt
echo "\n\n" >>  /results/cmd.txt
cmd.txt
find / -xdev -iname "ghc-pkg"
export PATH=/root/.stack/programs/x86_64-linux/ghc-8.6.5/bin:$PATH

/root/.local/bin/ihaskell kernel /kernel_connection.json
cat /root/.local/share/jupyter/kernels/haskell/kernel.json