Frage

in Lambda-Kalkül (λ x. Λ y. Λ s. Λ z. X s (y s z)) für die Zugabe von zwei Kirchenzeichen verwendet wird, wie können wir dies erklären, gibt es eine gute Ressource das Lambda-Kalkül für die funktionale Programmierung? Ihre Hilfe ist sehr willkommen

War es hilfreich?

Lösung

Eigentlich λ f1. λ f2. λ s. λ z. (F1 s (f2 s z)) berechnet, weil es zusätzlich in Wirkung substituierende (f2 s z) ist, die Anzahl von f2 repräsentiert, an die "Null" im Inneren (f1 s z).

Beispiel: Nehmen wir zwei für f2, s s z in erweiterter Form. f1 ist eins: s z. Ersetzen Sie das letzte z von f2 und Sie erhalten s s s z, die erweiterte Form für drei.

Dies wäre einfacher, mit einer Tafel und von Hand winkt, sorry.

Andere Tipps

In Lambda-Kalkül, codieren Sie einen Datentyp in Bezug auf die Operationen induziert. Zum Beispiel ist ein boolean eine nur eine Auswahl-Funktion, die in der Eingabe zwei Werte a nimmt und b und liefern entweder a oder b:

                      true = \a,b.a   false = \a,b.b

Was ist die Verwendung einer natürlichen Zahl? Seine Hauptrechen Ziel ist es, bietet eine Schranke zu Iteration. So kodieren wir eine natürliche Zahl als Operator das dauert in der Eingabe einer Funktion f, wobei ein Wert x, und die Anwendung iterieren von f über x für n-mal:

                        n = \f,x.f(f(....(f x)...))

mit n Vorkommen von f.

Wenn Sie nun f ausgehend von x n + m-mal die Funktion iterieren wollen n-mal iteriert starten Sie müssen, das heißt (n f x) und dann iterieren für m weitere Male, aus dem vorherigen Ergebnis ausgehend, dh

                                m f (n f x)

Und falls Sie n * m-mal wiederholen wollen, müssen Sie m-mal zu durchlaufen Der Betrieb der Iterieren n mal f (wie in zwei verschachtelten Schleifen), dh

                                 m (n f) x  

Die vorherige Codierung von Datentypen mehr formal in Begriffen erklären von Konstrukteuren und entsprechenden Tropfenabscheider (die sogenannte Bohm-Berarducci-Codierung).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top