我想象Scheme(或许还有Lisp)可以通过使用不同的语法变得更加“用户友好”。例如,我们可以设计一种更接近某些更广泛使用的语言的语法(例如类似于 Java 的语言,无需定义类),而不是带有难看的括号的嵌套 S 表达式。
如果它更冗长,也不一定是坏事。例如,语法可能在许多人期望的地方需要行分隔符和逗号,并且期望显式返回语句。而且,允许某些运算符使用中缀样式似乎并不困难(只需遵守普遍接受的运算符偏好规则)。
如果它不会让事情变得太困惑,语法甚至可以向后兼容,这样在任何需要表达式的地方,都可以使用括号之间的普通 S 表达式。
您对此有何看法和想法?存在这样的事情吗? (我希望如此,但“方案”是一个毫无值(value)的谷歌术语,我找不到任何东西!)
最佳答案
最初,Lisp 计划使用一种名为 M-Expressions 的语法,S-Expressions 只是一个过渡解决方案,以便更轻松地构建编译器。当 M 表达式准备好引入时,已经开始使用 Lisp 的程序员只是停留在他们已经习惯的地方,M 表达式从未流行起来。
Guile 中有一个中缀表示法,但很少使用。一个优秀的 Lisp 程序员甚至不再看到括号,而前缀表示法确实有它的优点......
关于syntax - 有没有好的替代方案语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4607310/