Forwarded from 看看就好的频道
From Macros to DSLs: The Evolution of Racket
https://www2.ccs.neu.edu/racket/pubs/snapl19-cffk.pdf
一篇回顾性质讲 Racket macro 发展历程的 paper。
从最初的 LISP 宏讲起,到声明式的 define-syntax-rule,到 Chez 的 syntax-object 和过程式的 syntax-case;然后是 Racket(当时还叫 PLT Scheme)关于 macro 的尝试,包括曾经试图把 macro 和 first-class module 配合的努力。再到现如今的分 phase 的 first-order module,以及 Racket 一大武器 syntax/parse;最后还说了一下基于 syntax/parse 的 typed meta-DSL, turnstile。
即使对于 Racket / Scheme macro 不感兴趣的,也可以从前几章了解到 LISP 系宏的发展历史;还可以通过最后部分了解一下 Racket 的 "macrology"。
#racket #scheme #lisp #macro
https://www2.ccs.neu.edu/racket/pubs/snapl19-cffk.pdf
一篇回顾性质讲 Racket macro 发展历程的 paper。
从最初的 LISP 宏讲起,到声明式的 define-syntax-rule,到 Chez 的 syntax-object 和过程式的 syntax-case;然后是 Racket(当时还叫 PLT Scheme)关于 macro 的尝试,包括曾经试图把 macro 和 first-class module 配合的努力。再到现如今的分 phase 的 first-order module,以及 Racket 一大武器 syntax/parse;最后还说了一下基于 syntax/parse 的 typed meta-DSL, turnstile。
即使对于 Racket / Scheme macro 不感兴趣的,也可以从前几章了解到 LISP 系宏的发展历史;还可以通过最后部分了解一下 Racket 的 "macrology"。
#racket #scheme #lisp #macro