そもそものきっかけが「なんとなくカッコいい気がする」程度で歩きだしているのでどうでもいいことというか、何に役立てるつもりで勉強しているかという意識が希薄なんですが、そもそもHaskellって何なのかが気になったので、いつもどおりWikipediaさんに聞きました。
Haskell は高階関数や静的多相型付け、定義可能な演算子、例外処理といった多くの言語で採用されている現代的な機能に加え、パターンマッチングやカリー化、リスト内包表記、ガードといった多くの特徴的な機能を持っている。また、遅延評価や再帰的な関数や代数的データ型もサポートしているほか、独自の概念として圏論のアイデアを利用し参照透過性を壊すことなく副作用のある操作(例えば 代入、入出力、配列など)を実現するモナドを含む。このような機能の組み合わせにより、手続き型プログラミング言語では記述が複雑になる関数でも Haskell ではたいていは実装が容易になる。
落語の演目にでも出てくるセリフか何かかねこれは。寿限無寿限無。
なにを指している文章なのかさっぱり、かけらも、理解できない。
「パターンマッチングやカリー化、リスト内包表記」というところだけ読めた。
圏論ってなんだろうということで調べてみると、さらにわけの分からない世界が広がっていた。なんだあれは。圏手とか射とか、何語だ。
こういう、途方もなく自分に縁遠い概念を勉強しようと思う時、どこから手を付けたらスタートできるんだろうか。
集合論とかがそうなのかなーと思って竹内なんとかさんの本も読んでるんだけど、やっぱり普通に使われてる言葉が既に意味不明で、
「あたしはこの本を読んでいいレベルに達していない」
ということをことごとく痛感させられているわけであります。
大人はたしかに当時、勉強しとけばよかったって言うよって言ってたが、ありゃホントだなあ。困ったなあ。
だれかが言ってたことですけど、Haskellを一言で言うと、Hello Worldを出力するまでに解説書の160ページを費やす言語であるというような一言を見かけました。
うん、他の言語だと一瞬で済むようなことに思うのに、遠いよね。
「純粋」な世界って大変なんだなあ。