是否有一个宏在R5RS方案中使用“λ”字符作为“lambda”?

时间:2014-10-26 06:11:58

标签: lambda scheme lisp r5rs gambit

是否有一个宏在R5RS计划中使用“λ”字符作为“lambda”? From here在Gambit“scheme-r5rs”中我尝试过:

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

但我一直收到Ill-formed expression错误。

1 个答案:

答案 0 :(得分:1)

你似乎在寻找一个读者宏,但我不认为他们在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)