やっぱり副作用が気になるんじゃ ~haskellもかじることにする~
('A`).。oO(副作用がない世界ってどんな世界なんだろう…)
('A`).。oO(CLISPのモンスター本でもことあるごとに「Haskellもいいんじゃない?」って言っていたっけ…。挙句には副作用警察みたいな漫画まで載ってたっけ…)
('A`).。oO(F#はC#の仕様にどうしても引っ張られてしまう部分があるだろうから、どうしても関数型言語としては妥協せざるを得ないところがあるかもしれないな…(別に根拠はない))
('A`).。oO(気になる…代入の一切ない世界気になる…)
というわけでHaskellはじめました。
環境作成~とりあえずREPLで動きが見られればいい人向け~
環境作成 ~ちゃんとビルドしたい人向け~
意外とこのあたり面倒でした。
- ↑の作業が終わってから、sublime textに「SublimeHaskell」というパッケージを入れます。
- そのままsublimeを再起動すると、「hdevtoolsとか入れろよこの野郎」と怒られます。
- 管理者権限でコマンドプロンプトを実行し、以下のコマンドを順に叩いてください。cabalはHaskellのパッケージコントローラです。
cabal update cabal install cabal-install cabal install stylish-haskell cabal install haskell-docs cabal install ghc-mod
- hdevtools(よくわからないがHaskellの開発をすごくしてくれるサーバ)をコンパイル・インストールします。このあたりからZipで拾ってきて解凍して、その場でコマンドプロンプトを開いて以下のコマンドを実行します。
runhaskell Setup.hs configure --user runhaskell Setup.hs build runhaskell Setup.hs install
最後にインストールしたディレクトリのパスが出るのでコピー。
- sublime textを開いて、メニューの「Preferences >> Package settings >> SumblimeHaskell >> Settings - User」を選択。
{ "add_to_PATH": [ "C:\\Users\\radial\\AppData\\Roaming\\cabal\\bin" ], "enable_hdevtools": true }
こんな感じに書いて保存してください。パスはさっきhdevtoolsをインストールしたときのパスです。
- sublime textを再起動する。
- 以下のような感じで打ち込んで「test.hs」とかいう名前で保存する。
main::IO() main = putStrLn "Hello world!"
- メニューの「Tools >> Build >> Haskell」を実行。ビルドされてhello world!とか出たら成功。
REPLとSublimeHaskellの併用
普通に動くんだけれど、REPLで動くコードがSublimeHaskellでビルドできるわけではないので(逆も然り。このあたりまだよくわかっていない)、ちょっとSublimeHaskellのエラー表示とかが鬱陶しいなーと思うことがあります。
なので、勉強し始めはREPLだけでいいかもしれませんね。
疲れた
まだぷよクエのガチャピンクッキー集めないといかんのや。