Haskellの環境準備備忘録
仕事でHaskell使ってますが、プライベートでも使っていこうと思ってWindows環境にいれたので、そのメモ。
Install Haskell
HaskellのInstallは、stackでやるのがいい。
Stackのインストール
stackは、以下から
https://github.com/commercialhaskell/stack/releases
windows版(stack-1.6.3-windows-x86_64-installer.exeにした。)を落として来たらインストール。
Stackのsetup
stackがインストールできたら、プロンプト開いて
stack setup
を実行。
shellをリスタートしろ的なCAUTIONと、
[0mstack will use a sandboxed GHC it installed[0m
[0mFor more information on paths, see 'stack path' and 'stack exec env'[0m
[0mTo use this GHC and packages outside of a project, consider using:[0m
[0mstack ghc, stack ghci, stack runghc, or stack exec[0m
でてきて終了。
([0m
~~これ文字化け?~~ANSIカラーのエスケープシーケンスだったみたいですね。windowsでは、7以降廃止されてて、今はansiconを入れないといけないみたい。)
Execute Haskell
ghci
stack ghci
で、起動。
ghciが入ってなかったら、まずインストールされる。
インストールが終わるとghciが起動する。
Prelude>
:q
でghciから抜ける。
ghc
stack ghc ファイル名
で、実行。
buildされて、
~.hi
~.o
~.exe
が生成されるので、~.exeを実行。
こんな感じ。
runghc
stack runghc ファイル名
で、実行。
こんな感じ。
Haskell project
stack new プロジェクト名
で、新規プロジェクト作成。
All done.
が出たらOK。
プロジェクト名のディレクトリができてるはず。
作成されたプロジェクト名のディレクトリに移動して、
stack build
で、build。
stack exec プロジェクト名-exe
で、実行。
こんな感じ。
実行する実行ファイルは、
プロジェクトディレクトリ以下の
/.stack-work/dist/
の下を見たらいるはず。
(gdbとかでdebugしたいときは、それを起動すればいい。はず。)
おまけ
つかったfeb.hsは、こんな感じ。
main :: IO ()
main = do
print $ feb 10
return ()
feb :: Int -> Int
feb i
| i == 0 = 1
| i == 1 = 1
| otherwise = feb (i-2) + feb (i-1)
取りあえずの確認用。