是否有宏可供使用λ&引用;字符为“;lambda“;在R5RS方案中?

是否有宏可供使用λ&引用;字符为“;lambda“;在R5RS方案中?,lambda,scheme,lisp,r5rs,gambit,Lambda,Scheme,Lisp,R5rs,Gambit,在R5RS方案中是否有宏将“λ”字符用作“lambda”?在“scheme-r5rs”中,我尝试了: 但我不断得到格式错误的表达式。您似乎在寻找一个reader宏,但我认为它们在Scheme中没有标准化 这项工作: # pu@pumbair: ~ cat test2.scm (define-syntax λ (syntax-rules () ((_ param body ...) (lambda param body ...)))) (display ((λ (x y)

在R5RS方案中是否有宏将“λ”字符用作“lambda”?在“scheme-r5rs”中,我尝试了:


但我不断得到格式错误的表达式。

您似乎在寻找一个reader宏,但我认为它们在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)

两个版本都不适用于Gambit R5R。我将在“标准”模式下尝试邮件列表。请看我的更新。哇,它工作,但只有从命令行,而不是如果文件被调用为#/usr/bin/env scheme-r5rs如何在文件中设置-:s选项?@GlassGhost Use
#/usr/bin/env scheme-r5rs-:s
。您已经做了这么多,我将把它标记为已接受,并在邮件列表中进行排序。
# 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)