λ-Kalkül ist ein formales System zur Funktionsdefinition, Funktionsanwendung und Rekursion, das die mathematische Grundlage der funktionalen Programmierung bildet.
Ich lerne gerade den Lambda-Kalkül und habe mich über die folgenden zwei verschiedenen Arten des Schreibens eines Lambda-Begriffs gewundert. λxy.xyλxy.xy\lambda xy.xy λx.λy.xyλx.λy.xy\lambda x.\lambda y.xy Gibt es einen Unterschied in der Bedeutung oder der Art und Weise, wie Sie die Beta-Reduktion anwenden, oder sind dies nur zwei Möglichkeiten, um dasselbe auszudrücken? …
Ich kämpfe darum, den Zweck der universellen und existenziellen Quantifizierung von Typen zu verstehen. Ich spiele damit herum, eine Spielzeugsprache zu schreiben, die auf der Berechnung von Konstruktionen basiert . Ich habe über Morte und Henk gelesen , um ein besseres Verständnis zu erlangen. Ich verstehe nicht, warum der CoC …
Ich wurde darauf aufmerksam gemacht, dass die Kosten für Typinferenz in einer funktionalen Sprache wie OCaml sehr hoch sein können. Die Behauptung ist, dass es eine Folge von Ausdrücken gibt, so dass für jeden Ausdruck die Länge des entsprechenden Typs exponentiell zur Länge des Ausdrucks ist. Ich habe die folgende …
Insbesondere, wenn ich ein neues als anstelle von Wäre der -Kalkül eine konkurrierende Basis?K.2K2K_2K.2= λ x . ( λ y. y)K2=λx.(λy.y)K_2 = \lambda x. (\lambda y. y)K.= λ x . ( λ y. x )K=λx.(λy.x)K = \lambda x. (\lambda y. x){ S., K.2, I}}{S,K2,I}\{S, K_2,I\} Meine Vermutung ist "nein", nur …
Let sein -Reduktion in dem Kalkül. Definieren Sie -expansion durch .→β→β\to_\betaββ\betaλλ\lambdaββ\beta←β←β\leftarrow_\betat′←βt⟺t→βt′t′←βt⟺t→βt′t'\leftarrow_\beta t \iff t\to_\beta t' Ist konfluent? Mit anderen Worten, haben wir das für jedes , wenn , dann existiert so, dass ?←β←β\leftarrow_\betal,d,rl,d,rl,d,rl→∗βd←∗βrl→β∗d←β∗rl \to_\beta^* d\leftarrow_\beta^* ruuul←∗βu→∗βrl←β∗u→β∗rl\leftarrow_\beta^* u \to_\beta^* r Schlüsselwörter: Aufwärtskonfluenz, verkehrte CR-Eigenschaft Ich begann mit einem Blick auf die …
Ich weiß nicht, wo ich diese Frage sonst stellen soll, ich hoffe, das ist ein guter Ort. Ich bin nur neugierig zu wissen, ob es möglich ist, einen Lambda-Kalkülgenerator herzustellen. Im Wesentlichen eine Schleife, die bei unendlicher Zeit jede mögliche Lambda-Kalkülfunktion erzeugt. (wie in Form einer Zeichenfolge). Da der Lambda-Kalkül …
Ich habe heute gelernt, dass sich die Algorithmusanalyse basierend auf dem Rechenmodell unterscheidet. Daran habe ich noch nie gedacht oder gehört. Ein Beispiel, das mir von User @chi weiter veranschaulicht wurde, war: Betrachten Sie zB die Aufgabe: gegeben return . Im RAM kann dies in gelöst werden, da der Array-Zugriff …
Selbsttypen sind eine Erweiterung der Konstruktionsrechnung [1], mit der die Sprache algebraische Datentypen ausdrücken kann, die durch die Scott-Codierung codiert werden. Die Scott-Codierung bietet die Möglichkeit zur Musterübereinstimmung O(1), was einer der Hauptgründe für die Aufnahme induktiver Definitionen in CC ist. Selbsttypen sind jedoch eine viel einfachere und elegantere Basistheorie …
Laut Peter Selinger ist der Lambda-Kalkül algebraisch (PDF). Zu Beginn dieses Artikels sagt er: Die kombinatorische Interpretation des Lambda-Kalküls ist bekanntermaßen unvollkommen, da sie die Regel nicht erfüllt : Nach der Interpretation impliziert M = N nicht \ lambda xM = \ lambda xN (Barendregt, 1984).ξξξM=NM=NM = Nλx.M=λx.Nλx.M=λx.N\lambda x.M = …
Ich arbeite an einem kleinen Lambda-Kalkül-Compiler, der über ein funktionierendes Inferenzsystem vom Typ Hindley-Milner verfügt und jetzt auch rekursive Let's (nicht im verknüpften Code) unterstützt. Ich verstehe, dass dies ausreichen sollte, um Turing vollständig zu machen . Das Problem ist jetzt, dass ich keine Ahnung habe, wie ich es zu …
Ich beginne im nächsten Herbst einen Bachelor-Informatikkurs, kann aber λ-Kalkül im Kontext der funktionalen Programmierung nicht wirklich verstehen. Ich kann dies völlig falsch interpretieren, aber basierend auf dieser Definition aus der Stanford Encyclopedia of Philosophy ist es nur eine weitere Notation für Funktionen. Wenn es nur so ist , warum …
Was sind anonyme (Lambda) Funktionen? Was ist die formale Definition einer anonymen Funktion in einer funktionalen Programmiersprache? In meinen einfachen Worten, wenn ich in Schema / Lisp programmiere, würde ich sagen, dass eine anonyme (Lambda) Funktion eine Funktion ist, die nicht an einen Bezeichner gebunden ist. Ist das alles, was …
Ich verstehe, dass eine Kirchenzahl wie λ s aussieht . λ z . s (... n mal ...) scncnc_nλ s . λ z. sλs.λz.s\lambda s. \lambda z. s . Dies bedeutet nichts anderesals „die Funktion s Applied n - mal auf die Funktion z “.szszs\;zsssnnnzzz Eine mögliche Definition der Funktion …
Ich möchte die Leistung von funktionscodierten (Church's / Scott's) mit klassisch codierten (Assembler / C) Datenstrukturen vergleichen. Aber bevor ich das tue, muss ich wissen, wie effizient die Funktionsrepräsentation im Speicher ist / sein kann. Die Funktion kann natürlich teilweise angewendet werden (auch bekannt als Closure). Ich interessiere mich sowohl …
Ich lese diesen bekannten Artikel über Universen in der Typentheorie . Zuerst habe ich etwas Ähnliches wie Setωin Agda erwartet , aber es stellt sich heraus, dass es noch etwas allgemeineres ist. Es scheint die Universumskonstruktion von einem einfachen induktiv-rekursiven Typ auf ein Bindemittel (ähnlich wie und Σ ) zu …
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.