用Lisp写法写HTML,感觉还挺有趣的


今天读 https://acl.readthedocs.io/en/latest/zhCN/ch16-cn.html
想到的

1 个赞

我之前写过一个类似的:GitHub - Kinneyzhang/pp-html: A html template language in Emacs-Lisp

1 个赞

https://holmsand.github.io/reagent/

有被大量的使用在生产中,好用。

3 个赞

看起来类似的东西还不少

Pollen: the book is a program (racket-lang.org)

1 个赞

不知道有没有 ClojureScript + Vue3 的例子

实际上各种语言都有这样的

比如我的网站就是 Haskell 生成的 html

另外,python 还有一个叫做 dominate 的,可以用 with xxx 来生成这些 dom

https://github.com/Knio/dominate

https://en.wikipedia.org/wiki/SXML

SXML 不需要 keyword (好像有部分 Lisper 不喜欢 keyword)

是部分 Scheme 不支持 keyword

都用 clojurescript 了哪还有用 vue 的必要?

说明这部分人不喜欢, 才不去实现… keyword syntax 又不是很难实现的语法

能写是能写,但是你们不觉得难看吗?特别是这个缩进,层次感很弱。

我自己设计lisp的edsl,有时会加一些冗余的关键字来引导emacs对代码的缩进,但是作用有限。

我挺喜欢写edsl的,但是缩进问题很恼人。如果在设计dsl时,能同时指定emacs对dsl的缩进,那就舒服了。

这又是何苦呢,大体上就是为了写效率牺牲了所见即所得和读效率。

Racket也是这么做的: https://docs.racket-lang.org/continue/index.html

被称为X表达式

(帖子已被作者删除)

其实我感觉你说话太冲了. :upside_down_face::upside_down_face::upside_down_face:

此帖子已被社区举报,现已被临时隐藏。

这种的话, 第一步先编译、转换成当代h5框架代码, vue, react, angular, 然后借着这些现代框架的能力, 进一步编译成相应的dist代码, 然后发布使用

那么就相当于一个vue、react, angular现代框架的DSL, 那还是不错的

不过现在我发现,还不如直接使用现代的框架
虚拟主机没有几个提供Lisp支持的(VPS我负担不起,缺钱)

其实这类玩意的定位类似于 JSX,就是为了方便在编程语言里写 HTML template 而不用另外处理 string escape 的问题,除此之外相比 JSX 还有兼容现有语法的作用。单独写的确沒啥用。

Elm 了解一下?