[Haskell] YAHT
8.2まで読了。type synonym と newtype は、初めて知った(と思う。)
| 固定リンク
| コメント (0)
| トラックバック (0)
Chapter 7 読了。
foldr は、すんなりとわからない。
じっくり考えて、やっとぼんやり、わかってくるような感じだ。
| 固定リンク
| コメント (0)
| トラックバック (0)
7.10まで読了。
Finite Map のキーのtypeは、Ordのインスタンスでなくてはならない。
Eqのインスタンスじゃ駄目な理由は、"balanced trees"にしたいから。
高速にアクセスアクセスするために、tree構造をしていて、そのためには、
キーのtypeはOrdのインスタンスでないといけない。
ということだろうか。
| 固定リンク
| コメント (0)
| トラックバック (0)
7.8まで読了。List に感するあれこれ。
遅延評価とList、map の数学風の表現など。
遅延評価のおかげで、上(下)限を気にしなくてもいいのがHaskellの特徴。
| 固定リンク
| コメント (0)
| トラックバック (0)
7.6.2 まで読了。
折り返し点通過。
Haskell の Class は、抽象クラスみたいな気がした。
RubyでいうModuleに相当する気がしてきた。
| 固定リンク
| コメント (0)
| トラックバック (0)
7.4読了。
matchingの話。
こういう機能があると、分岐処理を書かなくてすむ。
2つ1つの関数定義は短くなるし、そのケースだけ考えればよいので、わかりやすい。
が、下手に分割するとそれぞれの関数で同じ処理を書かなくてはならなくなる
という危険性もある。
| 固定リンク
| コメント (0)
| トラックバック (0)
7.3まで読了。
curry とか、uncurry とか、flip とか、今まで、よくわからなかった関数がすこしわかった気がする。
こういう関数が用意されているところが、関数型プログラミング言語らしいと言えるのかな。
| 固定リンク
| コメント (0)
| トラックバック (0)
7.2 読了。 where と let の話。
letの方がwhereより読みづらいと感じるのは、何故だろうか。 Cの関数だと変数定義が先なので、letスタイルの方が近いはずなのに。 多分、let の後の in に違和感を感じているのだと思う。
| 固定リンク
| コメント (0)
| トラックバック (0)
7.1まで読了。
map (+ 3) [1, 2, 3]
は、大丈夫で、
map (- 3) [1, 2, 3]
は、なぜ駄目かという話など。
- 3 は、数の「-3」と解釈されるから。
ちなみに、
map (+ (-3)) [1, 2, 3]
は、大丈夫。
| 固定リンク
| コメント (0)
| トラックバック (0)
最近のコメント