haskell stackでhello worldまでの環境構築

概要

  • haskellでstackを使った開発をするための環境構築
  • haskellのイメージをdocker pull
  • stack コマンド実行してコンテナコミット
  • stack new して stack install して stack exec

環境

  • mac mojave 10.14
  • ghc 8.4.3
  • stack 1.7.1
  • Docker version 18.09.0-ce-beta1, build 78a6bdb

docker pull

  • docker pull するだけでまあ動く
  • 作り直すたびにDL走るのだるいのでstack起動したとこでcommitする
docker pull haskell
docker run -it --name haskell_stack haskell stack ghci
docker commit haskell_stack haskell_stack

stack プロジェクトをつくる

cd ./stackprj/fuga # 適当にプロジェクト作るディレクトリに移動
docker run -it -v $(pwd):/stackprj haskell_stack /bin/bash # ボリューム名も適宜
cd /stackprj
stack new testprj
cd testprj
stack install
stack exec testprj-exe
  • あとはマウントしてるパスで .hs 書いてコンテナ内で実行すれば良いと思う

あとでやるかも

  • alias設定したら便利かもと思ったけど実行するたびにパッケージのDL実行するっぽいのでやめた
  • stack run を使いたいので1.9にしたかったのだが stack upgrade がうまくいかなかった
    • また別の機会に試してみると思う