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 dabei, eine domänenspezifische Sprache zur Darstellung sozialer Lernkonventionen zu implementieren. Teil der Implementierung ist eine formale Beschreibung einer Sprache - ihrer 'Analysis', Symbole und logischen Ausdrücke. Mein Ansatz wäre es, die Sprache durch Beschreibung ihrer Grammatik zu beschreiben, aber es gibt auch Konzepte wie Beziehungen, Dialoge, Erwartungen, die …
Was bedeutet es, wenn ein Argument für eine Funktion als Dummy-Argument bezeichnet wird ? Ich bin diesem Begriff außerhalb von Fortran nicht begegnet. Ist er ein allgemeiner Begriff in der Informatik? Was wären Beispiele für Argumente, die als Dummy übergeben und nicht als Dummy übergeben werden? Ich habe diese Definition …
Turingmaschinen haben eine formale Symbolalphabet-, Zustands- und Übergangsregel-basierte Beschreibung, wie eine Berechnung durchgeführt wird. Das Akteurmodell wird manchmal als leistungsfähigeres Rechenmodell als Turing-Maschinen erwähnt (nicht in dem, was es berechnen kann, sondern in anderen Aspekten). Ist das Actor Model eine vollwertige Drehmaschinenalternative als Rechenmodell? Verfügt das Akteurmodell auch über eine …
Ich lerne Programmieren in ML (OCaml) und habe früher nach ML-Funktionen vom Typ'a -> 'b gefragt . Jetzt habe ich ein bisschen mit Funktionen vom Typ experimentiert 'a list -> 'b list. Es gibt einige offensichtliche einfache Beispiele: let rec loop l = loop l let return_empty l = [] …
Welche Beziehung und welchen Unterschied besteht zwischen einem Programmiermodell und einem Programmierparadigma? (insbesondere wenn es um das Programmiermodell und das Programmierparadigma für eine Programmiersprache geht.) Wikipedia versucht meine Frage in 1 zu beantworten: Programmierparadigmen können auch mit Programmiermodellen verglichen werden , die Abstraktionen von Computersystemen sind. Beispielsweise ist das "von …
Es wird gesagt, dass ein Programm Algorithmen enthält. Wenn wir uns jedoch auf deren Definition beziehen, ist ein Algorithmus eine Folge von Anweisungen, die geschrieben wurden, um eine bestimmte Aufgabe auszuführen, und ein Computerprogramm ist auch eine Folge von Anweisungen, um eine (einige) Aufgaben mit einem Computer auszuführen. Was unterscheidet …
Ich bin daran interessiert, Mittelschülern Programmieren beizubringen. Ich möchte eine Programmiersprache mit folgenden Kriterien: Einfach - auf das absolute Minimum reduziert, um anspruchsvolle Programmierung ohne zu viel Code zu unterstützen. Daher interessiere ich mich für diese Sprache nicht für Zeiger und bin der Objektorientierung überdrüssig (obwohl die Funktionen gut sind). …
Ein YouTube - Video war ich gerade erklärte die Unterschiede zwischen Imperativen und Funktionale Programmierung durch den Nachweis , wie die Zahlen aus 1zu 10jeweils in Java und in Haskell aufsummiert. In Java müssen Sie jeden Schritt explizit angeben und das Ergebnis jedes Schritts einer Variablen zuweisen - etwa wie …
Hier bin ich wirklich daran interessiert, Hindernisse für den Mathematikunterricht abzubauen. Ziel: Ich würde gerne sehen, dass es für die JavaScript-Community erstellt wurde, ein Äquivalent zu den Python-basierten / verknüpften wissenschaftlichen und leistungsstarken Computerbibliotheken (große Listen davon sind über Sage und andere verfügbar ). Und das möchte ich, weil ich …
Die administrative Normalform ist eine Programmzwischenrepräsentation, in der jede unmittelbare Anweisung einen Namen hat. Es wird in GHC und OCaml verwendet . Die K-normalisierte Form ist eine Zwischendarstellung, in der jeder Befehl aus einer Zuordnung und Operation besteht. Es wird in MLKit, Min-Caml und GoCaml verwendet. Sowohl bei der A-Normalisierung …
Ich versuche, einige Aussagen über die Ausführung in Java-Programmen unter einigen starken Einschränkungen zu beweisen (im Grunde genommen habe ich die Vermutung, dass zwei Methoden, die eine Reihe von Einschränkungen für eine bestimmte Eingabe erfüllen, äquivalent sind - dh den Wert und den Status danach zurückgeben Ausführung sind identisch). Um …
Gemäß dieser Beschreibung der Python-Methodenauflösungsreihenfolge (mro), auch bekannt als C3-Linearisierung , kann der Algorithmus rekursiv wie folgt beschrieben werden: L(O) = <O> L(C) = <C> + merge(L(B1),..., L(Bn), <B1,...,Bn>) wo O ist die Klasse, von der jede Klasse erbt. Cist eine Klasse, die direkt von B1, ... Bn, in dieser …
Daher kenne ich zwei Hauptstrategien für einen höherrangigen Polymorphismus in einer Sprache: Polymorphismus im System-F-Stil, bei dem Funktionen explizit typisiert werden und die Instanziierung explizit über die Typanwendung erfolgt. Diese Systeme können beeindruckend sein. Subtypisierungsbasierter Polymorphismus, wobei ein polymorpher Typ ein Subtyp aller seiner Instanziierungen ist. Um eine entscheidbare Subtypisierung …
Ich bin kürzlich auf diesen Blog-Beitrag von Brian McKenna gestoßen, der den Zeilenpolymorphismus erklärt. Das schien mir eine wundervolle Idee zu sein, aber dann wurde mir klar, dass es sehr nach begrenztem parametrischem Polymorphismus riecht: Mit Zeilenpolymorphismus: sum: {x: int, y: int | rho} -> int function sum r = …
Ich habe nie einen Debugger verwendet, der ein Programm rückwärts ausführen kann, aber ich würde es gerne tun. Jetzt frage ich mich, ob es viele Beweise und Theorien zur rückwärts laufenden Programmierung gibt, wann und warum ein Programm rückwärts ausgeführt werden kann oder wann und warum nicht? Intuitiv finde ich, …
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.