Ich bin neu in der Theorie der Programmiersprachen und suche nach einer guten Ressource für die formale Semantik von Programmiersprachen. Speziell auf der Suche nach struktureller operativer Semantik. Ich habe einige Buchempfehlungen erhalten. Aber ich suche eine Ressource in einer einleitenden Ebene. Insbesondere Tutorials, Webseiten und kostenlose Buchempfehlungen sind willkommen.
Sei ein CCC . Lassen ein Produkt bifunctor auf sein . Da Cat CCC ist, können wir curry :CCC(×)(×)(\times)CCC(×)(×)(\times) curry(×):C→(C⇒C)curry(×):C→(C⇒C)curry (\times) : C \rightarrow(C \Rightarrow C) curry(×)A=λB.A×Bcurry(×)A=λB.A×Bcurry (\times) A = \lambda B. A \times B Die Funktorkategorie hat die übliche monoidale Struktur. C⇒CC⇒CC \Rightarrow C A monoid in ist ein …
Hintergrund . Ich bin ein Bachelor-Student, der sich für Forschung in Bezug auf Kategorietheorie, Monaden und Haskell interessiert, und ich möchte ein Thema für meine Bachelor-Arbeit in diesem Bereich finden. Ich habe mir die Zeitung angesehen Eugenio Moggi , " Vorstellungen von Berechnungen und Monaden ", 1991, und ich verstehe …
π 1 : A × B → A π 2 : A × B → BA × B≜ ∀ & agr; .( A → B → α ) → αA×B≜∀α.(A→B→α)→α A \times B \triangleq \forall\alpha.\; (A \to B \to \alpha) \to \alpha π1: A × B → Aπ1:A×B→A\pi_1 : A …
Können Sie zuverlässige Sendungen im Pi-Kalkül modellieren? Wenn das so ist, wie? Wenn nicht: Gibt es ähnliche Prozessalgebren, wo Sie können? Was ich ausprobiert habe: Wenn der Absender eine Nachricht an alle bis senden möchte , können Sie schreiben ! ( und bis . Aber wie können Sie sicherstellen, dass …
Wir wollen oft ein Objekt nach bestimmten Inferenzregeln definieren. Diese Regeln bezeichnen eine Erzeugungsfunktion die, wenn sie monoton ist, einen am wenigsten festen Punkt ergibt . Wir nehmen die "induktive Definition" von sein . Darüber hinaus erlaubt uns die Monotonie von , mit dem "Induktionsprinzip" zu argumentieren, um zu bestimmen, …
Gibt es eine Programmiersprachtheorie, die fremde Funktionsschnittstellen (FFI) und Mehrsprachenzuordnungen beschreibt? Ich habe einige Implementierungsprobleme zum Stackoverflow gestellt , die hier nicht geeignet sind. Aber ich möchte aus der Sicht dieser Seite fragen und sehen, was ich möglicherweise von hier bekommen könnte. Schätzen Sie wirklich Ihre Antwort! Vielen Dank an …
Die Inspiration für diese Frage ist die folgende (vage) Frage: Was sind die programmiersprachlichen / logischen Grundlagen für eine KI, die über ihren eigenen Quellcode nachdenken und ihn modifizieren könnte? Das ist überhaupt nicht streng, also hier ist mein Versuch, eine konkrete Frage daraus zu extrahieren. Es gibt zwei Dinge, …
Bei der Überprüfung von Compilern geht es häufig darum, den Compiler als vollständig abstrakt zu beweisen: dass er (kontextbezogene) Äquivalenzen bewahrt und widerspiegelt. Anstatt vollständige Abstraktionsnachweise zu liefern, wurden einige neuere (kategorienbasierte) Compiler-Verifikationsarbeiten von Hasegawa [ 1 , 2 ] und Egger et. al. [ 3 ] die vollständige Vollständigkeit …
Wenn Sie sich die rekursiven Kombinatoren im untypisierten Lambda-Kalkül ansehen, wie den Y-Kombinator oder den Omega-Kombinator: Es ist klar, dass all diese Kombinatoren eine Variable irgendwo in ihrer Definition duplizieren.ωY.==( λ x .xx )( λ x .xx )λ f.( λ x .f( xx ) )( λ x .f( xx ) …
Bei gegebenen Mengen und B wird eine difunktionelle Beziehung ( ∼ ) ⊆ A × B zwischen ihnen als eine Beziehung definiert, die die folgende Eigenschaft erfüllt:EINEINABBB (∼)⊆A×B(∼)⊆A×B(\sim) \subseteq A \times B Wenn und a ' ∼ b ' und a ∼ b ' , dann ist a ' ∼ …
Ich habe mich in letzter Zeit ziemlich für Parametrizität interessiert, nachdem ich Bernardys und Moulins LICS-Artikel 2012 ( https://dl.acm.org/citation.cfm?id=2359499 ) gelesen habe . In diesem Artikel verinnerlichen sie unäre Parametrizität in einem reinen Typensystem mit abhängigen Typen und geben Hinweise, wie Sie die Konstruktion auf beliebige Aritäten erweitern können. Ich …
Was ist in der Programmiersprachenperspektive mit Subtypisierung gemeint? Ich habe gehört, dass "Vererbung keine Untertypisierung" ist. Was sind dann die Unterschiede zwischen Vererbung und Subtypisierung?
Q1. Wann können wir sagen, dass zwei Programme (geschrieben in einer Programmiersprache wie C ++) unterschiedlich sind? Das erste Extrem ist zu sagen, dass zwei Programme äquivalent sind, wenn sie identisch sind. Das andere Extrem ist, dass zwei Programme gleichwertig sind, wenn sie dieselbe Funktion berechnen (oder dasselbe beobachtbare Verhalten …
Das Auftragspflegeproblem (oder "Auftrag in einer Liste pflegen") besteht darin, die folgenden Vorgänge zu unterstützen: singleton: Erstellt eine Liste mit einem Element und gibt einen Zeiger darauf zurück insertAfter: einen Zeiger auf ein Element gegeben, fügt ein neues Element danach ein und gibt einen Zeiger auf das neue Element zurück …
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.