Fragen zum Entwurf, zur Implementierung und zur Analyse von Programmiersprachen. NICHT für Fragen zum Programmieren, die auf dieser Site nicht zum Thema gehören.
Ich bin neu in der Theorie der Programmiersprache. Ich habe mir einige Online-Vorlesungen angesehen, in denen der Kursleiter behauptete, eine Funktion mit polymorphem Typ forall t: Type, t->tsei die Identität, erklärte aber nicht, warum. Kann mir jemand erklären warum? Vielleicht ein Beweis für den Anspruch aus ersten Grundsätzen.
Ich kenne ein Dutzend Programmiersprachen, die in gewisser Weise Ausnahmen haben, aber ich habe zwei "pathologische" Tendenzen beobachtet. Es scheint kein gemeinsames Muster oder eine Hierarchie von Ausnahmen zu geben. Jede Sprache rollt im Grunde genommen ihre eigene Version, und wenn die Ausnahmen es in den Standard schaffen, dann sind …
In Programmiersprachen sind Verschlüsse ein beliebtes und oft gewünschtes Merkmal. Wikipedia sagt (Hervorhebung von mir): In der Informatik ist ein Closure (...) eine Funktion zusammen mit einer Referenzierungsumgebung für die nicht lokalen Variablen dieser Funktion. Ein Closure ermöglicht es einer Funktion, auf Variablen außerhalb ihres unmittelbaren lexikalischen Bereichs zuzugreifen. Ein …
Ich habe das Buch "C ++ Demystified" studiert . Jetzt habe ich angefangen, "Objektorientierte Programmierung in Turbo C ++ - Erstausgabe (1. Auflage)" von Robert Lafore zu lesen . Ich habe keine Programmierkenntnisse, die über diese Bücher hinausgehen. Dieses Buch ist möglicherweise veraltet, weil es 20 Jahre alt ist. Ich …
Ich kämpfe wirklich mit dieser Eigenschaft: Lassen seine Kohärenz Räume und f : C L ( X ) → C L ( Y ) eine monotone Funktion sein. f ist kontinuierlich , wenn und nur wenn f ( ⋃ x ∈ D x ) = ⋃ x ∈ D f …
Laut diesem Artikel gibt die folgende Zeile des Lisp-Codes "Hello world" in der Standardausgabe aus. (format t "hello, world") Lisp, eine homoikonische Sprache , kann Code wie folgt als Daten behandeln: Stellen Sie sich nun vor, wir hätten folgendes Makro geschrieben: (defmacro backwards (expr) (reverse expr)) rückwärts ist der Name …
Möchten Sie diesen Beitrag verbessern? Geben Sie detaillierte Antworten auf diese Frage, einschließlich Zitaten, und erläutern Sie, warum Ihre Antwort richtig ist. Antworten ohne ausreichende Details können bearbeitet oder gelöscht werden. Oft gibt es Programmiersprachen, die auf bestimmte Aufgaben spezialisiert sind. Einige Programmiersprachen eignen sich hervorragend für die Array-Arithmetik (z. …
Ich weiß, dass es bewiesen werden kann, dass PROLOG Turing-vollständig ist, indem ein Programm erstellt wird, das eine Turing-Maschine wie diese simuliert: turing(Tape0, Tape) :- perform(q0, [], Ls, Tape0, Rs), reverse(Ls, Ls1), append(Ls1, Rs, Tape). perform(qf, Ls, Ls, Rs, Rs) :- !. perform(Q0, Ls0, Ls, Rs0, Rs) :- symbol(Rs0, Sym, …
Ich arbeite an einem Compiler für eine verkettete Sprache und möchte Unterstützung für Typinferenz hinzufügen. Ich verstehe Hindley-Milner, aber ich habe die Typentheorie im Laufe der Zeit gelernt, daher bin ich mir nicht sicher, wie ich sie anpassen soll. Ist das folgende System solide und eindeutig ableitbar? Ein Begriff ist …
Mit Bezug auf Funktionen in Sprachen wie Ruby (und Javascript), die es einem Programmierer ermöglichen, Klassen jederzeit nach ihrer Definition zu erweitern / außer Kraft zu setzen (einschließlich Klassen wie String), ist es theoretisch machbar, eine Sprache zu entwerfen, mit der Programme später erweitert werden können seine Semantik. Beispiel: Ruby …
Hier lese ich das: Haskell hat definitiv nicht das fortschrittlichste Typsystem (nicht einmal annähernd, wenn Sie die Forschungssprachen zählen), aber von allen Sprachen, die tatsächlich in der Produktion verwendet werden, ist Haskell wahrscheinlich an der Spitze. Ich frage also zwei Dinge: Welche Forschungssprachen haben leistungsfähigere Typsysteme als Haskell? Was verbessern …
Kann mich jemand auf von Experten begutachtete Artikel verweisen, in denen die Vor- oder Nachteile des Schreibens von Code in einem funktionalen Stil untersucht werden? Gibt es Papiere, in denen die Anwendungen von Lambda Calculus in Bereichen wie Maschinelles Lernen, Sprachdesign usw. erörtert werden?
Ich habe eine seltsame Erfahrung in der C-Programmierung gemacht. Betrachten Sie diesen Code: int main(){ int array1[6] = {0, 1, 2, 3, 4, 5}; int array2[6] = {6, 7, 8, 9, 10, 11}; printf("%d\n", array1[-1]); return 0; } Wenn ich dies kompiliere und ausführe, erhalte ich keine Fehler oder Warnungen. …
Ich glaube, ich bin ziemlich verwirrt darüber, was als Kalkül und was als Programmiersprache bezeichnet wird. Ich neige dazu, zu denken und könnte gesagt worden sein, dass ein Kalkül ein formales System ist, um über die Gleichwertigkeit von Programmen zu argumentieren. Programme haben eine von einer Maschine festgelegte operationale Semantik, …
Ich höre immer wieder, wie man Kategorietheorie lernen muss, um die Theorie der Programmiersprache wirklich zu verstehen. Bisher habe ich viel PL gelernt, ohne jemals in den Bereich der Kategorien einzusteigen. Ich nahm jedoch an, dass es Zeit war, den Sprung zu wagen, um zu sehen, was ich vermisst hatte. …
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.