関数型プログラミング言語Haskell Part21
■ このスレッドは過去ログ倉庫に格納されています
0146デフォルトの名無しさん
2013/02/13(水) 23:27:22.65とりあえず、
isSum ['a', 'b', 'c']
が
3になるのはよろしいでしょうか ?
mySum [] = 0
mySum (x:xs) = x + mySum xs
の場合(Num a) => aという制約が必要になります。
なぜなら、+の部分を型で書くと a + Intとなります。
aがNumのインスタンス?でなければならないので
Num a => aという制約が必要になります。
isNumの場合そのようなものはなく+の両辺の型は
1 (<= Numのインスタンス?) + Intであり、aに関する制約はまったく必要ないので
制約に関する記述は必要なくなります。
これでいいのかな?
添削して
インスタンスって表現でいいんだっけ ?
■ このスレッドは過去ログ倉庫に格納されています