Ich habe eine Implementierung der Knuth-Aufwärtspfeil-Notation geschrieben und festgestellt, dass ich ein
Problem hatte. Damit es funktioniert, müsste ich iterativ immer mehr Verweise auf eine Funktion stapeln, die sozusagen meine „Basis“ enthält, damit sie tatsächlich wie Knuths ursprünglicher Algorithmus funktioniert; Etwa so:
Code: Select all
# pseudocode
recursion = 10
def i(a,b,arrows):
for n in range(arrows):
add(add(.. # n stacked layers of add(a,b) ..))
def add(a,b):
return a+b
Das
Problem ist, dass es, soweit ich das beurteilen kann, keine gute Möglichkeit gibt, dies zu tun. Ich könnte einfach eine Reihe von addn()-Funktionen erstellen, die alle die verschiedenen Ebenen der Rekursion ausführen, aber was ist der Spaß daran?