1

構文規則を定義するための構文を調べてきましたが、まだ行き詰まっています。

このシグネチャでルールを定義したい: (define-syntax-rule (for {val in lst} return res))。

基本的に、val と lst を指定して map を適用するだけです。しかし、私は構文に苦労しています。これは私がこれまでに思いついたことです.. .... (syntax-rules () ((for val in lst) (map (val lst)))) ...

入力は次のようになります。

( for {val in '(0 1 2 3 4)} return (- val 1) )

map がリストで呼び出されたかのように、(-1 0 1 2 3) を出力します。

4

1 に答える 1