@eltrac 我用过Fennel,但都是很短的程序(超小游戏,和Neovim配置)。虽然用得不多,但确实有感觉像是在写Lua。
其实这种用不同语法表达同样语义的感觉还挺有趣的。不同的程序员同样选择Lua语义就证明他们有相似的偏好;而这群有相似偏好的程序员选择不同的语法,又说明他们的偏好有很大分歧。
我第一次听说ParenScript。点进Gitlab看了下,已经有6年没更新了,说不定已经死了。
可能因为没怎么接触过Clojure(近期里只有你的博客),所以Superficie的示例程序里被我肉眼高亮的就只有函数命名风格。
而这群有相似偏好的程序员选择不同的语法,又说明他们的偏好有很大分歧。
也有可能是写过 Lisp 之后就不想回去了
ParenScript 确实差不多死了,大概是因为确实不够好用,至少跟 ClojureScript 比差远了。
@alvis 可以参照 Fennel,这是一门可以完全和 Lua 互译的 Lisp。它有 Lisp 的语法,但完全是 Lua 的语义。
还有 ParenScript,是 Common Lisp 的语法,但写起来挺难受的,因为其实是隔着括号写 JavaScript。
我说的 Clojure 的语义就包含命名空间(如果换成 CL,就是 package 的概念)、惰性、函数式编程范式这些更偏向语言特性和语言风格的东西。问号这种命名习惯倒是次要的。