Clojure Makroexpand

8

Warum funktioniert

? %Vor%

erweitern zu

%Vor%

während

%Vor%

wird zu

erweitert %Vor%

Mit anderen Worten, warum wird das -> im zweiten Beispiel nicht vollständig erweitert?

    
Ralph 29.11.2010, 13:56
quelle

1 Antwort

10

macroexpand erweitert nur das Formular, bis das Symbol in der Funktionsposition kein Makro ist. Der Grund, warum Sie dies im Fall von -> bemerken, ist, dass das Makro -> rekursiv ist.

In Ihrem Fall möchten Sie macroexpand-all form clojure.walk

    
Brian 29.11.2010, 14:32
quelle

Tags und Links