syntax - 有没有好的替代方案语法?

标签 syntax scheme

我想象Scheme(或许还有Lisp)可以通过使用不同的语法变得更加“用户友好”。例如,我们可以设计一种更接近某些更广泛使用的语言的语法(例如类似于 Java 的语言,无需定义类),而不是带有难看的括号的嵌套 S 表达式。

如果它更冗长,也不一定是坏事。例如,语法可能在许多人期望的地方需要行分隔符和逗号,并且期望显式返回语句。而且,允许某些运算符使用中缀样式似乎并不困难(只需遵守普遍接受的运算符偏好规则)。

如果它不会让事情变得太困惑,语法甚至可以向后兼容,这样在任何需要表达式的地方,都可以使用括号之间的普通 S 表达式。

您对此有何看法和想法?存在这样的事情吗? (我希望如此,但“方案”是一个毫无值(value)的谷歌术语,我找不到任何东西!)

最佳答案

最初,Lisp 计划使用一种名为 M-Expressions 的语法,S-Expressions 只是一个过渡解决方案,以便更轻松地构建编译器。当 M 表达式准备好引入时,已经开始使用 Lisp 的程序员只是停留在他们已经习惯的地方,M 表达式从未流行起来。

Guile 中有一个中缀表示法,但很少使用。一个优秀的 Lisp 程序员甚至不再看到括号,而前缀表示法确实有它的优点......

关于syntax - 有没有好的替代方案语法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4607310/

相关文章:

C++ const 关键字 - 随意使用?

Java OOP transient 字段在加载 POJO 父级时初始化

PHP和mysql语法错误

namespaces - 为什么有多个命名空间?

javascript - JavaScript 中的 "?:"表示法是什么?

JavaScript 函数参数 : positional -> map transition

function - 如何在 Racket 中将 `and` 作为函数传递?

macros - eval 宏未绑定(bind)变量(CHICKEN 方案)

scheme - 使用 `map` 的 Racket 计数出现次数

scheme - 控制台输出如何确定