λ-Kalkül ist ein formales System zur Funktionsdefinition, Funktionsanwendung und Rekursion, das die mathematische Grundlage der funktionalen Programmierung bildet.
In Chris Okasakis Artikel " Abflachen von Kombinatoren: Überleben ohne Klammern " zeigt er, dass zwei Kombinatoren ausreichend und notwendig sind, um Turing-vollständige Ausdrücke zu codieren, ohne dass ein Anwendungsoperator oder Klammern erforderlich sind. Im Vergleich zu John Trumps Codierungen der kombinatorischen Logik in " Binary Lambda Calculus and Combinatory …
Es gibt also einen Algorithmus zum Konvertieren von Lambda-Kalkül-Begriffen in kombinatorische Logik unter Verwendung von SK-Kombinatoren. Es produziert Dinge, die in der Größe explodieren . Ich würde gerne mehr über diese Explosion erfahren. Ich kann mir jedoch keinen besseren Algorithmus vorstellen. Ich habe von funktionalen Sprachen gehört, die praktisch zu …
Die Sprache, die ich lerne, ist Schema und ich arbeite an einer Übung, die Folgendes gibt: (define (p) (p) ) (define (test x y) (if (= x 0) 0 y)) Dann wird die Frage gestellt, den Ausdruck zu bewerten: (Test 0 (p)) und das Verhalten zu kommentieren, das bei der …
Ich studiere reine Typensysteme, insbesondere die Berechnung von Konstruktionen, und versuche, eine Codierung für rekursive Typen darauf zu verwenden, was laut Philip Wadler möglich ist . Als Beispiel verwende ich die Morte Haskell-Bibliothek , um Scott-Ziffern zu codieren, wie sie von Cardelli angegeben wurden . Eine Zusammenfassung der Codierung lautet …
Ich verstehe, was es ist, aber ich sehe nicht, wie es für Algorithmen oder irgendetwas nützlich ist. Vielleicht fehlt mir etwas. Ich brauche jemanden, der mir ein Beispiel gibt, wie es verwendet werden kann, damit ich es besser verstehen kann.
In der reinen Lambda-Rechnung haben wir die induktiv definierte Menge von Begriffen (die Grammatik): e::=x∣λx.e∣e1e2e::=x∣λx.e∣e1e2e::= x \mid \lambda x . e \mid e_1 e_2 Im Rahmen der Call-by-Value-Bewertungsstrategie haben wir die Inferenzregeln für die Beta-Reduktion und Regeln für die Bewertung von Anwendungen (Kongruenzregeln). Ich versuche zu verstehen, wie Bewertungskontexte die …
Gibt es eine einfach typisierte kombinatorische Logik, da es einen untypisierten Lambda-Kalkül und einen einfach typisierten Lambda-Kalkül gibt (wie zum Beispiel in Benjamin Pierces Buch Types and Programming Languages beschrieben)? Zum Beispiel scheinen natürliche Typen für die Kombinatoren S, K und ich zu sein S : (a -> b -> …
Beim Lesen der Zeitung Eine Einführung in die Lambda-Rechnung stieß ich auf einen Absatz, den ich nicht wirklich verstand, auf Seite 34 (meine Kursivschrift): Innerhalb jedes der beiden Paradigmen gibt es mehrere Versionen des typisierten Lambda-Kalküls. In vielen wichtigen Systemen, insbesondere in solchen a la Church, haben Begriffe, die einen …
Ich weiß, dass dies eine einfache Frage ist, aber kann mir jemand zeigen, wie auf λ x reduziert wird . λ y . y .( λ y. λ x . λ y. y) ( λ x . λ y. y)(λy.λx.λy.y)(λx.λy.y)(\lambda y. \lambda x. \lambda y.y) (\lambda x. \lambda y. y)λ …
Gödel definiert in seinem System T die primitive Rekursion über höhere Typen. Ich fand Notizen von Girard, in denen er die Implementierung von System T zusätzlich zu einfach eingegebenem Lambda-Kalkül erklärt. Auf Seite 50 erwähnt er, dass wir mit dem System mehr Ausdruckskraft gewinnen, sobald wir mehr Typen im Recursor …
Bei abhängigen Typen wird die Miller-Mustervereinigung verwendet, um ein entscheidbares Fragment einer Vereinigung höherer Ordnung zu lösen. Dadurch können abhängig typisierte Sprachen Metavariablen oder implizite Argumente enthalten. Es gibt viele Artikel, die beschreiben, wie man angesichts eines Vereinigungsproblems im Musterfragment eine Lösung findet, wenn es eine gibt. Beispiele sind (Gundry-McBride) …
Ich hoffe, meine Frage macht Sinn: Ausgehend von der Annahme, dass der untypisierte Kalkül der Leistung einer Turing-Maschine entspricht, was entspricht in einer Turing-Maschine das Hinzufügen von Typen zum \ Lambda- Kalkül? Gibt es eine Art Automaten analog zur Eingabe, ob statisch oder dynamisch?λλ\lambda λλ\lambda
Unten ist der Lambda-Ausdruck, den ich nur schwer reduzieren kann, dh ich kann nicht verstehen, wie ich dieses Problem lösen soll. ( λ m n . ( λ s z. m s ( n s z) ) ) ( λ s z. s z) ( λ s z. s z)(λmn.(λsz.ms(nsz)))(λsz.sz)(λsz.sz)(\lambda …
Im λλ\lambda-calculus, wir können Arithmetik, Zahlen, Boolesche Werte codieren und sogar Fakultäten von Zahlen berechnen, wie hier gezeigt . Gibt es eine Kodierung von "für" oder "während"?
Ich versuche Y-Kombinatoren zu verstehen. Könnten Sie bitte erklären, warum die folgenden Punkte gleichwertig sind? (Y (f ∘ g)) (f (Y (g ∘ f))) (Y ist eine Festkommakombination)
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.