Als «clojure» getaggte Fragen

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...

11
Annäherung an SICP in Clojure anstelle von Scheme

Ich bin ein Bachelor-Student im dritten Jahr in einem Software-Engineering-Programm und habe einem Berater die Idee nahegelegt, SICP zu lesen, um ein tieferes und grundlegenderes Verständnis der Prinzipien hinter all dieser Software zu erlangen, die wir entwickeln. Er schlug vor, das Schema nicht...

11
Kompositionsbeispiel für Software-Transaktionsspeicher

Einer der Hauptvorteile des Software-Transaktionsspeichers, der immer erwähnt wird, ist die Kompositionsfähigkeit und Modularität. Verschiedene Fragmente können kombiniert werden, um größere Komponenten herzustellen. In sperrbasierten Programmen ist dies häufig nicht der Fall. Ich suche ein...

9
Zugriff auf die Geschichte eines "Ref" in Clojure

Die Dokumentation für ref zeigt eine Option: max-history und besagt, dass "refs den Verlauf dynamisch akkumulieren, wenn dies erforderlich ist, um Leseanforderungen zu erfüllen". Ich kann sehen, dass es bei der REPL einen Verlauf gibt, aber ich sehe nicht, wie ich frühere Werte einer Referenz...

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...