cltl2

___ tag123lisp ___ Lisp ist eine Familie von allgemeinen Programmiersprachen, die vom Lambda-Kalkül beeinflusst werden und die Möglichkeit haben, Quellcode als Datenstruktur zu manipulieren. ___ tag123types ___ Typen und Typsysteme werden verwendet, um Abstraktionsstufen in Programmen zu erzwingen. ___ tag123commonlisp ___ Common Lisp ist eine standardisierte Version der Lisp-Programmiersprache, die für Produktionsstärke gedacht ist. ___ qstnhdr ___ Verwenden von 'erfüllt' mit 'und' in Common Lisp ___ tag123ctl2 ___ Common Lisp die Sprache, 2. Auflage ___ answer29770469 ___

Ich hatte vor ein paar Jahren das gleiche Problem.

Ich habe in ANSI CL nichts gefunden, was eine Reihenfolge oder Filterung unterstützen würde. Aber es gibt auch keine Ausgabe , die eine Änderung diskutiert. Das Beispiel, das Sie erwähnten, nimmt CLtL2 Interpretation an.

Es ist also sinnvoll anzunehmen, dass ein Compiler die Typen neu anordnen kann und dass sich dies von CLtL2 geändert hat.

    
___ qstntxt ___

Ich habe Google Common Lisp Style Guide gelesen (siehe den letzten Abschnitt), das dort zu finden ist ist ein Fehler im Common Lisp-Standard bezüglich %code% als Typspezifizierer. Nämlich, dass es nicht "Kurzschluss", oder äquivalent, diese Reihenfolge der Bewertung ist nicht garantiert, im Gegensatz zu dem, was in der Beispiel :

%Vor%

Es wird jedoch auf Abschnitt 4.4 von CLtL2 verwiesen das

  

Wenn %code% einen %code% -Typspezifizierer verarbeitet, testet es immer alle Komponententypen in der Reihenfolge von links nach rechts und beendet die Verarbeitung, sobald eine Komponente des Schnittpunkts gefunden wurde, auf die sich das betreffende Objekt bezieht nicht gehören.

Und der Abschnitt erklärt weiter, dass dies so ist, um %code% durch einen anderen Typ zu filtern, um Fehler zu vermeiden.

Kann ich davon ausgehen, dass dies ein Fehler im Google Style Guide ist oder hat sich das Verhalten seit CLtL2 geändert?

    
___
1
Antwort

Verwenden von 'erfüllt' mit 'und' in Common Lisp

Ich habe Google Common Lisp Style Guide gelesen (siehe den letzten Abschnitt), das dort zu finden ist ist ein Fehler im Common Lisp-Standard bezüglich and als Typspezifizierer. Nämlich, dass es nicht "Kurzschluss", oder äquivalent, diese Re...
21.04.2015, 10:00