1
我正在寫一個函數註釋,它使用match-lambda通常用遞歸調用來註釋。這裏是模式和匹配之一:Scheme:match-lambda語法錯誤
(`(,<param> . ,<params> (lambda (,<args>) ,<stmt> . ,<stmts>))
`(CLOSURE ENV ,(append (append `(,<param>) `(,<params>))`(,<args>)) (lambda (ENV) ,(map annotate `(,<stmt> . ,<stmts>)))))
我收到一個投訴,第一次使用「。」是非法的 - 在「param」和「params」之間 - 但我不明白爲什麼。這種模式和匹配沒有得到任何投訴,並且看起來與第一個「。」相似。:
(`(λ (,<param1> . ,<params>) ,<stmt> . ,<stmts>)
`(CLOSURE ENV ,(map annotate `(,<param1> . ,<params>)) (λ (ENV) ,(map annotate `(,<stmt> . ,<stmts>)))))
任何建議表示讚賞。
謝謝。