C'è un modo per rendere semplici macro lettore in Racket. Intendo una generalizzazione come questa:Macro lettore racket
(define-reader-syntax "'" quote)
; finds expressions that start with "'" and wraps them in `(quote ...)`
'(foo) ; => (quote (foo))
'foo ; => (quote foo)
Ho usato una sintassi integrata per chiarire cosa intendo. Una delle cose che mi piacerebbe usare per questo è replicare la stenografia di clojure lambda (#(+ 1 %) 5) ; => 6
Sembra che sarebbe molto semplice definire una macro "shorthand-lambda" e mappare il prefisso "#" a quello.
Potreste essere interessati a guardare il codice per [afl] (https://github.com/AlexKnauth/afl) o [curly-fn] (https://github.com/lexi-lambda/racket-curly-fn), entrambi i quali definiscono le implementazioni complete del lettore estensioni per espressioni lambda stenografiche. –