https://simm.is/blog/superficie-clojure-you-can-read/

什么异端邪语 :blobcatreeeeeee:

不过说实话 Clojure 的语义脱离了 Lisp 的语法之后也挺具有辨识度的,很好用

#大脑充血

关注

@eltrac 看到去掉括号的Lisp,第一时间想起的是Racket->Rhombus。看到下面确实有提到受到Rhombus启发

“Clojure的语义”指的是什么?函数命名里的问号和斜杠么?

@alvis 可以参照 Fennel,这是一门可以完全和 Lua 互译的 Lisp。它有 Lisp 的语法,但完全是 Lua 的语义。

还有 ParenScript,是 Common Lisp 的语法,但写起来挺难受的,因为其实是隔着括号写 JavaScript。

我说的 Clojure 的语义就包含命名空间(如果换成 CL,就是 package 的概念)、惰性、函数式编程范式这些更偏向语言特性和语言风格的东西。问号这种命名习惯倒是次要的。

@eltrac 我用过Fennel,但都是很短的程序(超小游戏,和Neovim配置)。虽然用得不多,但确实有感觉像是在写Lua。

其实这种用不同语法表达同样语义的感觉还挺有趣的。不同的程序员同样选择Lua语义就证明他们有相似的偏好;而这群有相似偏好的程序员选择不同的语法,又说明他们的偏好有很大分歧。 :cdko_thinking_face:

我第一次听说ParenScript。点进Gitlab看了下,已经有6年没更新了,说不定已经死了。

可能因为没怎么接触过Clojure(近期里只有你的博客),所以Superficie的示例程序里被我肉眼高亮的就只有函数命名风格。

@alvis

而这群有相似偏好的程序员选择不同的语法,又说明他们的偏好有很大分歧。

也有可能是写过 Lisp 之后就不想回去了 :neocat_catmode:

ParenScript 确实差不多死了,大概是因为确实不够好用,至少跟 ClojureScript 比差远了。

登录以加入对话
Monado

Monado 是一个以任天堂为主、面向全平台游戏的、非营利性的中文向社区。在这里,你可以畅所欲言一切和游戏有关的东西,包括但不限于游戏日常、心得、感想、同人等;当然,吐槽自己的生活也完全没有问题。请在遵守所在国家或者地区法律法规的前提下自由的使用。 镜像加速节点: monado.ren