Haskell
https://gyazo.com/9e7ebeed40b96fd531122ddc5ba00508
1990 – サイモン・ペイトン・ジョーンズ、ポール・フダック、フィリップ・ワドラー、デミ・ムーアの夫、ならびに動物の倫理的扱いを求める人々によって構成される委員会により、遅延評価を行う純粋な関数型言語Haskellが作られる。副作用の制御に使われるモナドの複雑さのため、Haskellには抵抗を持つ人々がいる。ワドラーは批判を和らげるために、こう語っている。「モナドは単なる自己関手の圏におけるモノイド対象だよ。何か問題でも?」
―「不完全にしておよそ正しくないプログラミング言語小史」より
なぜ Haskell を使うのか?
リッチな型システム
高階型
型レベル演算
豊かな表現力
eDSL の読み書きのしやすさ
特にドメインロジックにおいて
ソフトウェア開発のコアはドメインロジックの記述だと思っている
抽象化能力とその筋の良さ
我々よりも遥かに頭の良い人たちが筋の良い問題解決法を考えている
巨人の肩に乗る
???「経験上 JVM に関わるとロクなことが起こらない」
GHC が賢い
Haskell のエコシステム
GHC (Glasgow Haskell Compiler)
デファクト・スタンダードなコンパイラ
Hackage
http://hackage.haskell.org/
Haskell のライブラリが登録されているところ
Haddock で生成されたドキュメントがオンラインで閲覧できる
ドキュメントからソースコードにシュッと飛べたりして地味に便利
Stack
https://docs.haskellstack.org/en/stable/README/
パッケージのインストールをしてくれたり
適切な GHC を勝手にインストールしてくれたり
Stackage という仕組みがあり,パッケージ間の整合性が取れた LTS release を定期的に出している
昔は cabal hell とか大変だったらしい
Nix との integration もあって便利
C のヘッダファイルに依存するライブラリのビルドなどのケースに使う
MySQL とか