2007年1月23日 (火)

[Haskell] YAHT


8.2まで読了。type synonym と newtype は、初めて知った(と思う。)


| | コメント (0) | トラックバック (0)

2007年1月22日 (月)

[Haskell] YAHT


Chapter 7 読了。
foldr は、すんなりとわからない。
じっくり考えて、やっとぼんやり、わかってくるような感じだ。


| | コメント (0) | トラックバック (0)

2007年1月21日 (日)

[Haskell] YAHT


7.10まで読了。
Finite Map のキーのtypeは、Ordのインスタンスでなくてはならない。
Eqのインスタンスじゃ駄目な理由は、"balanced trees"にしたいから。
高速にアクセスアクセスするために、tree構造をしていて、そのためには、
キーのtypeはOrdのインスタンスでないといけない。



ということだろうか。


| | コメント (0) | トラックバック (0)

2007年1月19日 (金)

[Haskell] YAHT


7.8まで読了。List に感するあれこれ。
遅延評価とList、map の数学風の表現など。
遅延評価のおかげで、上(下)限を気にしなくてもいいのがHaskellの特徴。


| | コメント (0) | トラックバック (0)

2007年1月15日 (月)

[Haskell] YAHT


7.6.2 まで読了。
折り返し点通過。
Haskell の Class は、抽象クラスみたいな気がした。
RubyでいうModuleに相当する気がしてきた。


| | コメント (0) | トラックバック (0)

2007年1月14日 (日)

[Haskell] YAHT

7.5まで読了。 matching の機能をさらに一歩進めたような guards の話。

| | コメント (0) | トラックバック (0)

2007年1月13日 (土)

[Haskell] YAHT


7.4読了。
matchingの話。
こういう機能があると、分岐処理を書かなくてすむ。
2つ1つの関数定義は短くなるし、そのケースだけ考えればよいので、わかりやすい。
が、下手に分割するとそれぞれの関数で同じ処理を書かなくてはならなくなる
という危険性もある。


| | コメント (0) | トラックバック (0)

2007年1月12日 (金)

[Haskell]YAHT


7.3まで読了。
curry とか、uncurry とか、flip とか、今まで、よくわからなかった関数がすこしわかった気がする。
こういう関数が用意されているところが、関数型プログラミング言語らしいと言えるのかな。


| | コメント (0) | トラックバック (0)

2007年1月11日 (木)

[Haskell] YAHT

7.2 読了。 where と let の話。

letの方がwhereより読みづらいと感じるのは、何故だろうか。 Cの関数だと変数定義が先なので、letスタイルの方が近いはずなのに。 多分、let の後の in に違和感を感じているのだと思う。

| | コメント (0) | トラックバック (0)

2007年1月10日 (水)

[Haskell] YAHT


7.1まで読了。



map (+ 3) [1, 2, 3]


は、大丈夫で、



map (- 3) [1, 2, 3]


は、なぜ駄目かという話など。



- 3 は、数の「-3」と解釈されるから。



ちなみに、



map (+ (-3)) [1, 2, 3]


は、大丈夫。


| | コメント (0) | トラックバック (0)