Gibt es eine Möglichkeit, eine Sammlung von Clojure-Spezialformen programmatisch zu bekommen?

8

Existiert etwas ähnliches?:

%Vor%     
Nick Orton 01.07.2010, 16:42
quelle

1 Antwort

9

Ich glaube nicht, dass es einen guten Weg dafür gibt.

Aber hier ist ein Hack (läuft auf einem hochmodernen 1.2 Schnappschuss):

%Vor%

Dies beruht auf Implementierungsdetails des Compilers. Bitte verwenden Sie dies nicht im Produktionscode.

Beachten Sie, dass let als eine spezielle Form angesehen wird, obwohl es wirklich ein normales Makro ist und let* die eigentliche Spezialform ist. Gleiches gilt für fn und andere. Dies sind wahrscheinlich Implementierungsdetails, die sich in Zukunft ändern können.

Wenn Sie also wirklich eine Liste spezieller Formulare wünschen, würde ich vorschlagen, die Liste selbst zu tippen. Die Liste ist kurz genug (alles auf Ссылка ). Schauen Sie sich die Quelle für clojure.core/special-form-anchor an, es gibt dort eine fest codierte Liste zum Kopieren / Einfügen. (Wiederum wahrscheinlich ein Implementierungsdetail, auf das man sich jedoch nicht verlassen kann.)

%Vor%

Und da ist auch das:

%Vor%     
Brian Carper 01.07.2010, 18:00
quelle

Tags und Links