回答編集履歴

2

スタックは使わないまでも、メモリは使うので、メモリ不足になる可能性はあります。

2015/10/02 14:26

投稿

eripong
eripong

スコア1546

test CHANGED
@@ -49,3 +49,9 @@
49
49
  in rAck (fun x -> x) m n
50
50
 
51
51
  ```
52
+
53
+
54
+
55
+ いずれにしても、スタックは使わないまでも、メモリは使うので、
56
+
57
+ メモリ不足になる可能性はありますね。

1

別のサイトも追記した。

2015/10/02 14:25

投稿

eripong
eripong

スコア1546

test CHANGED
@@ -25,3 +25,27 @@
25
25
  ackermann m n []
26
26
 
27
27
  ```
28
+
29
+
30
+
31
+ 以下のサイトにも、別バージョンがありました。
32
+
33
+ [algorithm - Is this implementation tail-recursive - Stack Overflow](http://stackoverflow.com/questions/4424532/is-this-implementation-tail-recursive)
34
+
35
+ ```
36
+
37
+ let Ackb m n =
38
+
39
+ let rec rAck cont m n =
40
+
41
+ match (m, n) with
42
+
43
+ | 0, n -> cont (n+1)
44
+
45
+ | m, 0 -> rAck cont (m-1) 1
46
+
47
+ | m, n -> rAck (fun x -> rAck cont (m-1) x) m (n-1)
48
+
49
+ in rAck (fun x -> x) m n
50
+
51
+ ```