- 追加された行はこの色です。
- 削除された行はこの色です。
#contents
*Replace in a recursive function [#eb7b48e9]
**Sample Code 1 [#e3a7c461]
a(X):XXXXrXXXXla(srslX)
a(r)
(20B)
The code above can be compressed by replacing XXXX by another variable.
a(X,Y):YrYla(srslX,XXXX)
a(r,)
(19B)
**Examples [#o5494688]
Zとか?
*Special first term [#m9d39ab4]
**Sample Code 1 [#e3a7c461]
a(X,Y):YrYla(srslX,XXXX)
a(r,sss)
Even if you replace something by Y, the rule of Y isn't applied for "1st Y". ~
Thus, you can use "1st Y" freely.
**Sample Code 2 [#v5560bd3]
a(X,Y):XYXa(XX,l)
a(srsl,r)
**Sample Code 3 [#p1575461]
a(X,Y):XXXXYa(sX,YYl)
a(r,)
In this code, "1st Y" and "2nd Y" is special.
*Multiple recursion [#z2d43815]
**Sample Code 1 [#i62107f5]
f(X):ssXlssf(sX)
f()
(12B)
This code can be compressed by recycling "ss":
f(X):ssXlf(f(sX))
f()
(11B)
**Sample Code 2 [#pd3c6df3]
育たない再帰とかで