今天查阅了关于 JSON 的网页,发现原来 JSON 的全称是 JavaScript Object Notation,大概可以理解为:用 JavaScript 的语法来传递信息(尤其是关于对象的)一种标记语法(大概是吧,口糊)。
那么问题来了,我们知道 Lisp (在讲到其结构时)常常用来与 XML 进行对比,而后者也是一种常用的、用于传递信息的语法(基于HTML);而这边的 JSON 又明显是用一门已知的语言的语法来进行 Notation,那么问题来了:
是否可以存在一种 LisP Object Notation (简称 LPON),来进行信息的记录与传递呢?
期待大家自由地各抒己见! 
Lisp不需要啊,因为它具备同像性,Lisp数据对象和代码是等价的。
3 个赞
SPQR
5
KiCAD的电路板原理图文件(.kicad_sh)就是sexp,而且用sexp格式记录原理图在EDA里面算常规操作了
1 个赞
wsug
6
用其它语言生成lisp字符串传递到emacs后解析执行, 这个是不是就是LPON了, 那LPON我每天都在用
1 个赞
vhqr
7
问题的顺序有点不太对。
并不是特地基于 js 语法设计了 JSON。而是 js 在 web 前端被广泛使用,直接使用 js 的结构能简化 web 的解析。而这一结构被其它场景使用,才形成了 json。
像是 java 的 rpc 什么,也是直接传它自己的内部结构。网络协议传输的流,一般也就是 C 结构定义对应的内存结构(只是这个场景更多的是人为设计以及结构优化)。
上面也提到了 lisp 的 sexp 在 eda 领域用。包括 emacs 内一些持久化其实也是存 sexp。
json 一直被提是用得人多,生态完善。东西都有,只是用的人少,大家不怎么谈罢了。像 sexp 的解析库其实也很多,主流语言基本都有。
3 个赞
json确实是个挺不错的东西, 比xml简单, 比二进制通信直观, 完美的中间派
lisp 是 list processor 的缩写,你说的lpon其实就是个list。相比于json根本毫无优势。
至于直接传输代码远程执行, 老年人应该还记得java的applet, 就是被js干掉的。
其实emacs跟浏览器没啥大区别, lisp machine vs js machine
wsug
11
我理解js在浏览器里执行就是直接传输代码远程执行的,只是做了代码审计,限制权限(容器,黑箱什么的)这些。 js可以, 其它语言自然也可以。