Scheme Guile是否允许变量名以数字开头,从而放宽了对变量名约定的限制?

Scheme Guile是否允许变量名以数字开头,从而放宽了对变量名约定的限制?,scheme,lisp,identifier,guile,Scheme,Lisp,Identifier,Guile,例如,1+2似乎可以在Guile中用作变量名: (define 1+2 4) 1+2 ;==>4 我惊讶地发现,如果我正确阅读的话,似乎不喜欢名称以数字开头的标识符(除非它们被转义,也许?)。这看起来似乎同样适用于中国。我没有看过其他规格 所以,如果我的规格读数是正确的,那么是的,Guile放宽了这个要求。然而,正如我所说的,我对此感到惊讶,因为,例如,Racket非常喜欢像1+这样的标识符,即使在使用r5rs语言时也是如此,而且这种标识符在其他Lisp族语言中非常常见(常见的Lis

例如,
1+2
似乎可以在Guile中用作变量名:

(define 1+2 4)
1+2   ;==>4

我惊讶地发现,如果我正确阅读的话,似乎不喜欢名称以数字开头的标识符(除非它们被转义,也许?)。这看起来似乎同样适用于中国。我没有看过其他规格

所以,如果我的规格读数是正确的,那么是的,Guile放宽了这个要求。然而,正如我所说的,我对此感到惊讶,因为,例如,Racket非常喜欢像
1+
这样的标识符,即使在使用
r5rs
语言时也是如此,而且这种标识符在其他Lisp族语言中非常常见(常见的Lisp在语言本身中定义了
1+
1-


然而,可能是我误读了规范中的语法,或者误解了它们的含义。

我发现Guile还定义了
1+
(一个将1添加到其参数中的过程)。R5RS对于标识符的措辞给我的印象是,它不喜欢(如果不是禁止的话)以数字开头的标识符。