3

在 R5RS 方案中是否有使用“λ”字符作为“lambda”的宏?从这里在 Gambit "scheme-r5rs" 我试过:

(define-syntax λ
  (syntax-rules ()
    ((_ . more) (lambda . more))))

但我不断收到Ill-formed expression错误。

4

1 回答 1

2

您似乎正在寻找阅读器宏,但我认为它们在 Scheme 中没有标准化。

这有效:

# pu@pumbair: ~  cat test2.scm
(define-syntax λ
    (syntax-rules ()
       ((_ param body ...) (lambda param body ...))))
(display ((λ (x y) (+ x y)) 1 2)) (newline)
(display ((λ () 1))) (newline)
(display ((λ (a . b) b) 'a 'b 'c)) (newline)

# pu@pumbair: ~  gsi -:s test2.scm
3
1
(b c)
于 2014-10-26T07:38:07.840 回答