素人が自分用メモとして、GHCJSの導入方法を書いている為、
もし間違ってたら、教えていただけるとありがたいです。。。
事前準備
node と stack を導入してください。
##プロジェクト作成
stack new [project-name]
cd [project-name]
ghcjsインストール
このサイトにアクセスし、Example Configurations の設定をコピーし、stack.yaml に追記してください。
記事執筆時点では以下の通り。
stack.yaml
resolver: lts-7.2
compiler: ghcjs-0.2.1.9007002_ghc-8.0.1
compiler-check: match-exact
setup-info:
ghcjs:
source:
ghcjs-0.2.1.9007002_ghc-8.0.1:
url: http://ghcjs.tolysz.org/ghc-8.0-2016-10-01-lts-7.2-9007002.tar.gz
sha1: a41ae415328e2b257d40724d13d1386390c26322
以下、実行します。
# stack.yaml 編集
vim stack.yaml
# セットアップ (1〜2時間かかりますが、二回目からは不要)
stack setup
# ビルド
stack build
# 実行
node $(stack path --local-install-root)/bin/[project-name-exe].jsexe/all.js
# コンパイラはビルド時に指定する事も可能です。
stack build --compiler ghcjs-0.2.1.9007002_ghc-8.0.1
パスを通しておけば、ghcjsコマンドを直接実行できます。
# パス通す
export PATH=$HOME/.stack/programs/x86_64-osx/ghcjs-0.2.1.9007002_ghc-8.0.1/bin:$PATH
# コンパイル
ghcjs tarai.hs
# 実行
node tarai.jsexe/all.js