Daniel Janus 发布了 Edsger。这个项目做的事很窄:让 reMarkable 2 通过手写输入运行 Clojure REPL。
窄,反而是它有意思的地方。它没有把电子纸平板包装成新 IDE,也没有声称能替代键盘开发。它只是把一支笔、一块电子纸屏、一个识别链路和 Lisp 式交互编程接到了一起。
原文也很贴合这个气质:手写博客页面,里面放了演示视频、架构图、转写稿和代码仓库链接。看完更容易得出一个判断:Edsger 的重点不是“现在就拿它干活”,而是问一句,编程界面是不是只能长成键盘、窗口和大屏那样。
Edsger 做了什么:把手写表达式送进 Clojure REPL
Edsger 的目标设备是 reMarkable 2,语言环境是 Clojure REPL。
用户在电子纸平板上手写 Clojure 表达式。系统识别输入,再交给 Clojure REPL 求值,随后把反馈显示回来。闭环很短:写下去,跑一下,看结果。
这和 Clojure/Lisp 的习惯是合拍的。REPL 本来就适合小步试探:写一个表达式,求值,改一点,再求值。它不需要一开始就搬出完整项目、复杂窗口和大块界面。
但这也限定了 Edsger 的边界。它更像草稿纸上的交互计算,不像日常项目开发环境。
| 维度 | Edsger 当前呈现 | 更现实的判断 |
|---|---|---|
| 输入 | 在 reMarkable 2 上手写 Clojure | 适合短表达式和推演,不适合大段代码编辑 |
| 执行 | 识别后进入 Clojure REPL | 适合试验,不等于完整开发工作流 |
| 输出 | 返回 REPL 反馈 | 重点是闭环,不是性能展示 |
| 发布形态 | 演示视频、架构图、转写稿、代码仓库 | 个人开源实验,不是官方产品 |
项目名 Edsger 与 Edsger Dijkstra 有关。这个信息可以帮助理解作者取名的趣味,但不要拔高成官方纪念项目,也不要理解成机构背书。
对 Clojure/Lisp 开发者来说,它最有用的地方不是“换掉 Emacs 或 VS Code”。更可能的动作是:看演示、读代码、判断这条链路能不能改成自己的小工具。普通 reMarkable 用户大概率只会观望,因为这不是记笔记功能的自然延伸。
它怎么实现:难点在把几段链路接起来
从原文线索看,Edsger 用到了 reMarkable 社区生态里的组件,包括 let-go、xovi、rm-xovi-extensions,也涉及 qt-resource-rebuilder、xovi-message-broker 等工具。
这里的麻烦不在单点。单独运行 Clojure,不稀奇;单独做手写识别,也不稀奇。难的是在 reMarkable 2 这类设备上,把输入、识别、消息传递、界面反馈和 REPL 执行串成一个可演示流程。
这也带来很现实的复现成本。
它不是 reMarkable 官方功能。想复现的人,至少要接受社区扩展、设备改造、开源组件拼接和后续维护的不确定性。系统更新会不会影响扩展,链路在不同环境下是否稳定,目前都不能从发布信息里直接下结论。
所以,最适合动手的人群很窄:熟悉 reMarkable 改造生态的开发者,或者本来就对 Clojure/Lisp、REPL、人机交互实验感兴趣的人。他们会把 Edsger 当原型拆开看,而不是当工具采购。
还有一个容易被写偏的点:不要把它包装成“AI 编程产品”。原文相关链接里确实能看到作者关于 LLM 和 Claude NLP 的内容,但 Edsger 页面本身没有给出可验证的模型名称、识别准确率、延迟或可用性数据。
证据到哪里,判断就停在哪里。现在能说的是:它展示了手写输入到 REPL 的闭环;不能说的是:某个 LLM 已经让纸上编程成熟可用。
它意味着什么:低频,但能照出主流工具的边界
主流编程工具为什么离不开键盘和大屏?原因很朴素。
真实项目需要跳转、搜索、重构、调试、版本管理,还要同时看错误、文档和上下文。代码不是只写一行表达式。它需要高密度显示,也需要高精度编辑。
电子纸设备刚好反过来。它的优势是安静、低干扰、接近纸张;短板是复杂界面承载能力有限。把完整 IDE 塞进去,多半得不偿失。
Edsger 选择 REPL,反而避开了这个坑。它不追求全功能,只保留“写一个表达式,看一次反馈”。这让它更像一张会回答的草稿纸。
类似的方向并不陌生。Apple Pencil + iPad、Surface Pen + Windows、Mathematica Notebook 这类环境,都在尝试缩短书写、计算和反馈之间的距离。Edsger 的特殊之处,是把这个问题放到了 reMarkable 2 和 Clojure REPL 上。
接下来真正该看的,不是它能不能取代桌面开发环境。这个问题答案大概率是否定的。
更关键的是三件事:
- 手写识别面对真实代码时,容错能到什么程度;
- reMarkable 系统更新和社区扩展之间,会不会形成维护压力;
- 这条链路能否被其他开发者稳定复现,而不是只停留在一次演示。
如果这三点没有更清楚的答案,Edsger 就还是实验样品。样品不丢人。很多好界面想法,最初都不是生产力工具,而是把一个被习惯遮住的问题重新摆到桌面上。
回到开头那个问题:编程是否必须被键盘、窗口和桌面环境绑定?Edsger 没有给出替代方案,但它至少说明,REPL 这种古老工作流,仍然适合被拿来做新界面实验。旧瓶装新酒,关键不在瓶,也不在酒,而在这口能不能喝。
