Als «language-design» getaggte Fragen

Fragen zum Design und zur Struktur von Programmiersprachen.



5
Erstklassige Funktionen
Ich habe dieses Wochenende angefangen, mich ernsthaft mit Lisp zu beschäftigen (womit ich meine, dass ich nur Lisp gelernt habe und nicht zu Projekten in C # zurückgekehrt bin) und muss sagen, dass ich es liebe. Ich habe mich mit anderen funktionalen Sprachen (F #, Haskell, Erlang) beschäftigt, aber die …

1
statische Globale und anonyme Namespaces in C ++
Warum hat C ++ bei der Einführung des letzteren zwischen statischen Globals (interne Verknüpfung) und Symbolen in einem unbenannten Namespace (externe Verknüpfung, aber keine Möglichkeit, von außen darauf zu verweisen) unterschieden? Sind diese Gründe noch gültig oder gibt es neue? Gibt es noch Orte, an denen sie sich noch unterscheiden, …


1
Warum braucht Swift Zeugen-Tabellen?
Ich versuche, mich über die Implementierungsdetails von Swift zu informieren, und eine Sache, die ich nicht genau festlegen kann, sind die "Zeugen-Tabellen". Es sieht so aus, als wären sie ein separater vtable-Zeiger, der für Strukturen verwendet wird. Aber warum brauchst du das? Strukturen werden nach Wert kopiert, sodass Sie bereits …

1
Sind erstklassige Fortsetzungen in modernen objektorientierten Programmiersprachen nützlich?
Fortsetzungen sind in funktionalen Programmiersprachen (z. B. der ContMonade in Haskell) äußerst nützlich, da sie eine einfache und regelmäßige Notation für Code im imperativen Stil ermöglichen. Sie sind auch in einigen älteren imperativen Sprachen nützlich, da sie zum Implementieren fehlender Sprachfunktionen (z. B. Ausnahmen, Coroutinen, grüne Threads) verwendet werden können. …

12
Warum können nicht mehr Sprachen einen Wert mit mehr als einem anderen Wert vergleichen? [geschlossen]
Geschlossen . Diese Frage basiert auf Meinungen . Derzeit werden keine Antworten akzeptiert. Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage, damit sie durch Bearbeiten dieses Beitrags mit Fakten und Zitaten beantwortet werden kann . Geschlossen vor 5 Jahren . Folgendes berücksichtigen: if(a == b or c) In den …

3
So implementieren Sie eine verzögerte Auswertung von if ()
Ich implementiere derzeit einen Ausdrucksauswerter (einzeilige Ausdrücke wie Formeln), der auf Folgendem basiert: Der eingegebene Ausdruck wird tokenisiert, um Literal-Boolesche Werte, Ganzzahlen, Dezimalstellen, Zeichenfolgen, Funktionen und Bezeichner (Variablen) zu trennen. Ich habe den Shunting-Yard-Algorithmus implementiert (leicht modifiziert, um Funktionen mit variabler Anzahl von Argumenten zu handhaben), um Klammern zu entfernen …





1
Name der Technik zum Ableiten von Typargumenten eines Typparameters?
Setup: Nehmen wir an, wir haben einen Typ namens, Iteratorder einen Typparameter hat Element: interface Iterator<Element> {} Dann haben wir eine Schnittstelle, Iterabledie eine Methode hat, die eine zurückgibt Iterator. // T has an upper bound of Iterator interface Iterable<T: Iterator> { getIterator(): T } Das Problem mit Iteratorder Generizität …

4
Ist eine Generator-Sprachfunktion wie "Yield" eine gute Idee?
PHP, C #, Python und wahrscheinlich einige andere Sprachen haben ein yieldSchlüsselwort, mit dem Generatorfunktionen erstellt werden. In PHP: http://php.net/manual/en/language.generators.syntax.php In Python: https://www.pythoncentral.io/python-generators-and-yield-keyword/ In C #: https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/yield Ich bin besorgt, dass als Sprachfeature / yield-einrichtung einige Konventionen verletzt werden. Eines davon ist "Gewissheit". Diese Methode gibt bei jedem Aufruf ein …

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.