脳ざらし紀行


2006-04-26

_ [Haskell] 入門Haskell、つづき

個人的に Haskell で難しいのはモナドや型などの概念よりも、型クラス宣言や制約などの文法です(制約ってどこに書けて、どこに書けないのかいまいちよくわからない)。「高階関数」の意味が分からないといっても検索すれば済むわけです。でも例えば、

f . g

の意味(関数の合成)が分からない場合、調べようがないわけです。文法(と演算子)は検索できない(あるいはチョー検索しにくい)!!

で、P143で

procChar . ord 

と関数の合成がでてくるけど、関数の合成の説明はこの後の章のP154でされていてこれってどうなのよ的な。

あと、第5章で説明されるモナドクラスの定義(P119)は

 class  Monad m  where
   return           :: a -> m a
   (>>=)            :: m a -> (a -> m b) -> m b

なんだけど。モナドクラスのインスタンスは型ではなくて型構築子なのね。つまり、型クラス宣言の構文は「型構築子クラス宣言」としても使えるわけだけど、それが本のどこを読んでもせちゅめいされていないってどうなのよ的な。この〈高階の〉型クラス宣言は、本当はやさしくない『やさしい Haskell 入門』においてさえも(5 型クラスと多重定義で)説明されているのだから、やっぱり説明が必要なところなんじゃないかと。

本の画像

お名前:
E-mail:
コメント:
本日のリンク元

最近のコメント

2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|04|05|
2011|04|
2012|03|07|
2013|01|02|07|
トップ «前の日記(2006-04-24) 最新 次の日記(2006-05-01)» 編集