関数型プログラミング言語Haskell Part22
■ このスレッドは過去ログ倉庫に格納されています
0839835
2013/07/18(木) NY:AN:NY.ANID:y4brIquX!原始でコンストラクタ使った例は
data Tree a = Null | Node (Tree a) (Tree a)
size :: Tree a -> Int
size tree = case (tree) of
Null -> 0
Node lt rt -> 1 + size lt + size rt
でいいのかな?
関数は最終的にNullにパタンマッチして0を返すから演算が終了する。
n-1ないけど
f :: Int -> Int
f n
| n == 0 = 1
| n < 0 = f (n+1)
も原始帰納になるでしょうか?
自然数を扱うときはn-1が必要だからこれは違う(普通の帰納)?
■ このスレッドは過去ログ倉庫に格納されています