我一直在研究定义语法规则的语法,但是我仍然卡住了。
我想用这个签名定义一个规则:(define-syntax-rule (for {val in lst} return res)。
基本上它只是应用给定 val 和 lst 的 map。但我在语法上苦苦挣扎。到目前为止,这就是我想出的...... (syntax-rules () ((for val in lst) (map (val lst)))) ...
输入将类似于:
(对于 {val in '(0 1 2 3 4)} 返回 (- val 1) )
并输出 (-1 0 1 2 3),就好像在列表中调用了 map。