Als «macros» getaggte Fragen

Makros werden verwendet, um dem Programmierer eine Folge von Rechenanweisungen als einzelne Programmanweisung zur Verfügung zu stellen, wodurch die Programmieraufgabe weniger mühsam und weniger fehleranfällig wird. [

30
Was ist der Ursprung des C-Präprozessors?

Der C-Präprozessor ist an C angehängt, hat jedoch eine völlig andere Syntax als die Hauptsprache: syntaktisch signifikantes Leerzeichen (Zeilenende beendet eine Anweisung, Lücke nachdem das Makro den Anfang der Ersetzungsliste bestimmt) schlüsselwortbasierte Blöcke anstelle von geschweiften Blöcken...

22
Wie nützlich sind Lisp-Makros?

Mit Common Lisp können Sie Makros schreiben, die die gewünschte Quelltransformation ausführen. Das Schema gibt Ihnen ein hygienisches Musteranpassungssystem, mit dem Sie auch Transformationen durchführen können. Wie nützlich sind Makros in der Praxis? Paul Graham sagte in Beating the Averages...

18
Python-Dekorateure und Lisp-Makros

Bei der Suche nach Python-Dekorateuren gab jemand die Aussage ab, dass sie genauso mächtig sind wie Lisp-Makros (insbesondere Clojure). Wenn ich mir die Beispiele in PEP 318 anschaue, sehe ich so aus, als wären sie nur eine ausgefallene Möglichkeit, einfache alte Funktionen höherer Ordnung in Lisp...

11
Byte-Code-Weberei gegen Lisp-Makros

Ich habe über die Bibliotheken gelesen, die für Sprachen wie Java und C # geschrieben wurden, die das Weben von Bytecode verwenden, um beispielsweise Funktionsaufrufe abzufangen, Protokollcode einzufügen usw. Ich habe auch über Lisp / Clojure-Makros in einem gelesen versuchen Sie besser zu...

7
Wann würde ich ein Makro anstelle einer Funktion benötigen?

Ich bin neu in Clojure, ich bin neu in Makros und ich habe keinen vorherigen Hintergrund in Lisp. Ich fuhr fort, mein eigenes Switch-Case-ähnliches Formular zu erstellen, und endete mit folgendem: (defmacro switch-case [v cases default] (if (cases v) (cases v) default )) und dann versucht, eine...