Schreiben Sie einen Festkomma-Kombinator in möglichst wenigen Zeichen in der Sprache Ihrer Wahl.
- freie Form ( dh was auch immer am kürzesten ist): gesamtes Programm, tatsächliche Funktion, Code-Snippet
- Sie dürfen Ihre Standardbibliotheken nicht verwenden, wenn sie eine haben
- Sie können es jedoch aus anderen übergeordneten Funktionen extrahieren, wenn Sie dies lieber tun, als es aus den Basen zu konstruieren
Bitte fügen Sie eine rekursive Fakultät oder Fibonacci hinzu, die sie als Demo verwendet.
In dieser Frage ist eine Selbstreferenz akzeptabel. Das Ziel besteht ausschließlich darin, sie aus der rekursiven Funktion zu entfernen, für die sie gelten wird.
(define Y(lambda(f)(f(Y f))))
?)