Haskell
https://gyazo.com/901a0e60507bc726fa3047a9128d4748
清楚で「整った」という印象の美人
いつも理路整然とした受け答えをするが、正論を真顔で言うため面食らってしまう人も多い
……の割に基本的な部分で抜けていたり、また変なスイッチが入ると理路整然さが明後日の方向に走り始め別の意味で面食らうような発言も
頭の回転は速いのだが所作が丁寧でゆっくりなのでおっとりしてると思われがち
真面目な解説
1990 年、FPCA '87 で結成された委員会により作られたプログラミング言語
型推論付き静的型付け言語
静的多相型付け
遅延評価を基礎とした純粋関数型プログラミング言語という特徴を持つ
定義の宣言などの少数の文を除きすべてが式
遅延評価によりその値が実際に必要になるまで評価されない
無限リストなどが実現可能
モナドを用いることで関数の参照透過性を担保している
高階関数
パターンマッチ
代数的データ型
コンピュータの動作と一見かけ離れた、数学を軸とする文法を持つため初学者は非常に面食らうことも多い
特に圏論を由来とするモナドが槍玉に挙げられることが多い
しかし使うだけなら簡単
しかもモナドを覚えるだけで例外処理、非同期、副作用の分離などなどの機能が使えるようになる。実にお得
再帰を多用することも難しさを感じさせる一旦かもしれない
ビルドが遅い
抽象度を上げた結果、型推論に時間がかかるようになってしまった
実行速度は C の 5~10 倍くらい遅かった気がする
そこいらのスクリプト言語には負けないが今日日の静的型付言語にゃ負けてしまう
すべてのプログラミング言語は Haskell に近づいていると言われている
#programming_language