1..n からすべての階乗の積を計算する必要があります。この関数 double_factorial を (引数として少なくとも 2 または 3 を指定して) 呼び出すと、一瞬呼び出されたように見えますが、何も起こらず、数秒後に GHCi が閉じます。なにが問題ですか?見えない無限再帰はありますか? これが私のコードです:
double_factorial :: Integer->Integer
double_factorial n
| n<0 = error "negative number is given"
| n==0 = 1
| otherwise = (factorial n)*(double_factorial n-1)
where
factorial :: Integer->Integer
factorial n
| n == 0 = 1
| otherwise = n*(factorial n-1)