Die zugrunde liegende Frage:
Was macht die Lambda-Rechnung für uns, was wir mit den in der Mittelschulalgebra allgemein erlernten Grundfunktionseigenschaften und der Notation nicht anfangen können?
Was bedeutet abstrakt im Zusammenhang mit der Lambda-Rechnung? Mein Verständnis des Wortes abstrakt ist etwas, das von der Maschinerie, der konzeptuellen Zusammenfassung eines Konzepts, getrennt ist.
Lambda-Funktionen verhindern jedoch eine bestimmte Abstraktionsebene, indem sie auf Funktionsnamen verzichten. Beispielsweise:
f(x) = x + 2
h(x, y) = x + 5 y
Aber auch ohne die Maschinerie dieser Funktionen zu definieren, können wir leicht über ihre Zusammensetzung sprechen. Beispielsweise:
1. h(x, y) . f(x) . f(x) . h(x, y) or
2. h . f . f . h
Wir können die Argumente einbeziehen, wenn wir wollen, oder wir können vollständig abstrahieren, um einen Überblick darüber zu geben, was passiert. Und wir können sie schnell auf eine einzige Funktion reduzieren. Schauen wir uns Komposition 2 an. Ich kann Schüler-Detailebenen haben, mit denen ich je nach Schwerpunkt schreiben kann:
g = h . f . f . h
g(x, y) = h(x, y) . f(x) . f(x) . h(x, y)
g(x, y) = h . f . f . h = x + 10 y + 4
Lassen Sie uns das Obige mit Lambda-Kalkül durchführen oder zumindest die Funktionen definieren. Ich bin mir nicht sicher, ob dies richtig ist, aber ich glaube, dass der erste und der zweite Ausdruck um 2 erhöht werden.
(λuv.u(u(uv)))(λwyx.y(wyx))x
Und mit 5y multiplizieren.
(λz.y(5z))
Anstatt abstrakt zu sein, scheint dies in die Maschinerie dessen zu geraten, was es bedeutet, zu addieren, zu multiplizieren usw. Abstraktion bedeutet in meinen Augen eher eine höhere Ebene als eine niedrigere Ebene.
Außerdem kämpfe ich darum, warum Lambda-Kalkül überhaupt eine Sache ist. Was ist der Vorteil von
(λuv.u(u(uv)))(λwyx.y(wyx))x
Über
h(x) = x + 5 y
oder eine kombinierte Notation
Hxy.x+5y
oder sogar Haskells Notation
h x y = x + 5 * y
Wiederum, was macht Lambda-Kalkül für uns, was wir mit den Eigenschaften und der Notation der f (x) -Stil-Funktion, mit denen viele vertraut sind, nicht tun können.