是否有宏可供使用λ&引用;字符为“;lambda“;在R5RS方案中?
在R5RS方案中是否有宏将“λ”字符用作“lambda”?在“scheme-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)
但我不断得到格式错误的表达式。您似乎在寻找一个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)