Als «programming-languages» getaggte Fragen

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.


1
Können wir alles in imperativen Sprachen mit einer funktionalen Sprache tun, wenn dies keinen „Zustand“ zulässt?
Ich las Struktur und Interpretation von Computerprogrammen (SICP), MIT. Was ich verstanden habe ist, dass es in einer rein funktionalen Programmiersprache keinen lokalen Staat gibt. SICP, S. 230 sagt: "Das Programmieren ohne Verwendung von Aufgaben, wie wir es in den letzten beiden Kapiteln dieses Buches getan haben, wird dementsprechend als …


2
Welcher Satz entspricht im Curry-Howard-Isomorphismus, der auf Hindley-Milner-Typen angewendet wird, a -> [a]?
(Verwenden der Haskell-Syntax, da die Frage von Haskell inspiriert ist, sie gilt jedoch für allgemeine polymorphe Hindley-Milner-Systeme wie SML oder Elm.) Wenn ich eine Typensignatur habe f :: a -> [a], wie lautet der logische Satz, der von dieser Typensignatur codiert wird? Ich weiß , dass Typkonstruktoren mag ->, (,)entspricht …



1
Wie ist IO eine Monade?
Ich lerne die Programmiersprache Haskell. Nach dem, was ich lese, stellt Input / Ouput ( IO ) die Reinheit von Haskell vor Herausforderungen, da wir per Definition mit der Außenwelt interagieren. Aus Wikipedia: In einer rein funktionalen Sprache wie Haskell können Funktionen im Rahmen der Funktionssemantik keine äußerlich sichtbaren Nebenwirkungen …

4
Warum sind Mehrfachrückgabewerte nicht üblich?
Ich möchte eine Frage zu mehreren Rückgabewerten stellen, warum dieses Konstrukt in Programmiersprachen (konzeptionelle und / oder technische Schwierigkeiten) nicht vorzuziehen ist. Ich habe etwas über Stapelrahmen gehört und wie sie Speicher für Rückgabewerte und variable Rückgabewerte reservieren, könnte dies problematisch machen, aber wenn jemand dies besser erklären könnte, wäre …

1
Tag-freie Speicherbereinigung für objektorientierte Sprachen
Ich suche nach einer guten Speicherbereinigungstechnik für meine Sprache und habe dieses Papier gefunden , in dem Benjamin Goldberg eine Speicherbereinigungstechnik für stark typisierte Sprachen beschreibt, bei der zur Laufzeit keine Typinformationen mehr benötigt werden. Kurz gesagt, dies erfolgt durch Platzieren eines Zeigers auf eine Garbage Collection-Funktion direkt nach einem …

1
Wie ist REGEXP in Programmiersprachen implementiert?
Gibt es ein gutes allgemeines Papier über die Interpretation oder Kompilierung von REGEXP in Programmiersprachen für den Mustervergleich mit oder ohne Variablen? Ich bin nicht auf der Suche nach einer kurzen Erklärung zum Aufbau von DFAs, sondern nach einem echten Papier darüber, wie dies bei der Implementierung von Programmiersprachen tatsächlich …

1
Wie nah sind gängige Programmiersprachen daran, Turing nicht vollständig zu sein?
Der Begriff "Vollständigkeit" wurde in mehreren von mir belegten Informatikkursen erörtert. Ich habe jedoch nie ein intuitives Gefühl dafür bekommen, was die Vollständigkeit von Turing tatsächlich erfordert. Ich habe diese Frage gefunden, aber die Antworten sind etwas mathematischer als das, wonach ich suche. Nehmen Sie eine gängige Programmiersprache wie C …


1
Ist die Syntax der C-Sprache vollständig durch CFGs definiert?
Ich denke, die Frage ist autark. Ist die Syntax der C-Sprache vollständig durch kontextfreie Grammatiken definiert, oder haben wir Sprachkonstrukte, für die im Verlauf des Parsens möglicherweise nicht kontextfreie Definitionen erforderlich sind? Ein Beispiel für ein Nicht-CFL-Konstrukt, das ich dachte, war die Deklaration von Variablen vor ihrer Verwendung. In Compilern …

1
Wie kann man den Satz des strukturierten Programms beweisen?
Wikipedia : Das strukturierte Programm [...] besagt, dass [...] jeder Algorithmus mit nur drei Kontrollstrukturen ausgedrückt werden kann. Sie sind Ausführen eines Unterprogramms und dann eines anderen Unterprogramms (Sequenz) Ausführen eines von zwei Unterprogrammen gemäß dem Wert eines booleschen Ausdrucks (Auswahl) Ausführen eines Unterprogramms, bis ein boolescher Ausdruck wahr ist …

5
Welche genaue Beziehung besteht zwischen Programmiersprachen und Turing-Maschinen?
Ich weiß nicht viel über Yacc, Bison, Flex oder Lex und bitte korrigiere mich, wenn ich falsch liege, aber eine Programmiersprache ist auch eine Turing-Maschine und eine Turing-Maschine ist als Tupel definiert (Q,Γ,b,Σ,δ,q0,F)(Q,Γ,b,Σ,δ,q0,F)(Q, \Gamma, b, \Sigma, \delta, q_0, F) wo QQQ, ΓΓ\Gamma, b∈Γb∈Γb \in \Gamma, Σ⊆Γ∖{b}Σ⊆Γ∖{b}\Sigma \subseteq \Gamma \smallsetminus \{ …

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.