関数型プログラミング言語Haskell Part22
■ このスレッドは過去ログ倉庫に格納されています
0771デフォルトの名無しさん
2013/07/13(土) NY:AN:NY.ANID:Hq+EmFHl!ttp://stackoverflow.com/questions/1712237/how-does-primitive-recursion-differ-from-normal-recursionの回答に、
「原始再帰関数とは他の原始再帰関数で定義されいて自然数の構造の再帰である。」とありますが、
イマイチ分かりません。
例えば、自然数を使った
fac::Int->Int
fac x
| x > 0 = x*fac(x-1)
|x==0 = 1
は原始再帰関数で、
inverse::String->String
inverse value = case (value) of
[]->[]
(x:xs)-> inverse xs ++ [x]
は原始再帰関数では無い。
ということでしょうか?
base caseにヒットして関数が終了するのであればそうなのかな〜と思っていたのですが。
■ このスレッドは過去ログ倉庫に格納されています