首先,据我所知,变量标识符在常见的lisp中称为符号.
我注意到,在像C这样的语言中,变量标识符只能是alphanumberics和underscores,Common Lisp允许使用更多的字符,如"*"和(至少是scheme)"?"
所以,我想知道的是:Common Lisp允许在符号中使用的完整字符集是什么(如果我错了,可以使用变量标识符)?对于Scheme来说是一样的吗?
另外,函数名称的字符集是不同的?
我一直在谷歌搜索,查看CLHS,以及Practical Common Lisp,对于我的生活,有些事情一定是错的,因为我似乎无法找到答案.
这是常见的lisp(clisp和sbcl)和scheme(guile).虽然这些都是真的:
(= 1/2 0.5)
(= 1/4 0.25)
Run Code Online (Sandbox Code Playgroud)
结果证明这是假的:
(= 1/5 0.2)
Run Code Online (Sandbox Code Playgroud)
我检查了hyperspec,它说"="应该检查数学等价,尽管参数的类型.到底他妈发生了什么?