라켓에서 간단한 판독기 매크로를 만들 수있는 방법이 있습니까? 나는 다음과 같은 일반화를 의미합니다 :라켓 판독기 매크로
(define-reader-syntax "'" quote)
; finds expressions that start with "'" and wraps them in `(quote ...)`
'(foo) ; => (quote (foo))
'foo ; => (quote foo)
나는 무엇을 의미하는지 명확히하기 위해 내장 구문을 사용했습니다. 내가 이것을 사용하고자하는 것들 중 하나는 clojure의 약식 람다를 복제하는 것입니다. (#(+ 1 %) 5) ; => 6
"속기 - 람다"매크로를 정의하고 "#"접두어를 매핑하는 것이 매우 쉬울 것 같습니다.
당신의 코드를 찾고에 관심이있을 수 있습니다 [afl] (https://github.com/AlexKnauth/afl) 또는 [curly-fn] (https://github.com/lexi-lambda/racket-curly-fn). 두 가지 모두 독자의 완전한 구현을 정의합니다. 약식 람다 식 확장. –