すごいHaskell楽しく学ぼう!イントロ〜環境構築
- 作者: Miran Lipovača,田中英行,村主崇行
- 出版社/メーカー: オーム社
- 発売日: 2012/05/23
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 580回
- この商品を含むブログ (73件) を見る
すごいHaskell楽しく学ぼう!Memo
噂のすごいH本を読んで楽しくHaskellを学んでいこうというコンセプト
イントロダクション Hakell
純粋関数型プログラミング言語
普段使っているのは命令型プログラミング
- 命令型 -> 何をするかをコンピュータに伝える
- 関数型 -> 何であるかをコンピュータに伝える
変数の値を設定したら後から変更できない
純粋関数型言語では、関数は副作用を持ちません
関数が同じ引数を渡されたとき、必ず同じ結果を返すことを参照透明性という
Haskelは怠け者です。特にそうしろと言われた場合を除いては、
結果が必要になるまで関数を実行しないのです。
上記を遅延評価と呼ぶ
参照透明性が保証されているから実現できている
遅延評価のため、見かけ上の無限を扱える
環境構築
MacOS X 10.13.6
すごいH本ではHaskell Platformを勧めている
でもstack
がいいと聞いたのでそっちで構築
https://haskell.e-bigmoon.com/stack/
公式ドキュメントをみてcurl
で導入してみました
% curl -sSL https://get.haskellstack.org/ | sh Using generic bindist... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 619 0 619 0 0 725 0 --:--:-- --:--:-- --:--:-- 724 100 7524k 100 7524k 0 0 408k 0 0:00:18 0:00:18 --:--:-- 127k Installing Stack to: /usr/local/bin/stack... ------------------------------------------------------------------------------- Stack has been installed to: /usr/local/bin/stack NOTE: You may need to run 'xcode-select --install' to set up the Xcode command-line tools, which Stack uses.
そういえばXcodeのコマンドラインツール入れてなかったな〜
Stackで使うそうなので導入
ついでにpathも通せとお達し
# haskell stack export PATH="$HOME/.local/bin:$PATH" eval "$(stack --bash-completion-script stack)"
完了したら初回は
stack update
そこそこ時間がかかる
終わったらHOMEに追加された
./.stack/config.yaml
に名前とか書いておしまい
適当なディレクトリでstack new [project name]
して
H本で使うっぽい対話環境のghciをダウンロード(結構長い)
stack ghci
とりあえず今回は終わり
次回からHaskellに触れれば...
- 作者: Miran Lipovača,田中英行,村主崇行
- 出版社/メーカー: オーム社
- 発売日: 2012/05/23
- メディア: 単行本(ソフトカバー)
- 購入: 25人 クリック: 580回
- この商品を含むブログ (73件) を見る