Matheus Moreira 是一名巴西医生,也是一位自学成才的资深业余程序员。他从 C++ 入门,先后深入 Java、Ruby、Scheme,最终扎根 C。受 Linux 内核 nolibc 思路启发,他先创建了 liblinux——一套直接调用 Linux 系统调用的 freestanding C 封装;随后进一步开发出 Lone Lisp:一个完全不依赖 libc、直接运行在 Linux ABI 之上的 Lisp 方言。他从零实现了内存管理、垃圾回收、解析器、FEXPR 求值器、尾调用优化、delimited continuations,以及类似 Common Lisp 的可重启条件系统。Lone 追求极简与完全掌控:顶层环境仅暴露 import/export,连 if、quote 都需要显式导入;通过 ELF 嵌入式段,解释器复制自身并附加 Lisp 代码即可变成独立可执行程序。Moreira 希望借此证明现代 Linux 用户空间可以剥离 GNU/libc 的层层封装,直接从内核 ABI 重建,并鼓励更多人拥抱“拥有自己的系统”的责任与乐趣。
🔑 核心要点
学医出身但自学编程超过 15 年,技术路径从 C++、Java、Ruby 最终落脚 C 与 Scheme。
先写 liblinux 直接封装 Linux 系统调用,绕过 libc 的 errno、locale、strtok 等历史包袱。
Lone Lisp 是运行在 Linux ABI 上的 freestanding Lisp,启动极快、运行时系统调用调用极少。
从零实现内存分配器、垃圾回收、解析器、FEXPR 求值器与尾调用优化(TCO)。
基于 delimited continuations 实现可恢复异常/条件系统,但放弃了 Common Lisp 的 restart API。
顶层环境只有 import/export 两个符号,所有语言特性都通过模块显式引入,强调最小核心。
ELF 嵌入式段让“解释器 + Lisp 代码”成为自包含可执行文件,目标是重写常见 Linux 用户空间工具。
在 Termux/Android 上完整通过测试套件,日常大量在手机上开发。
用 Claude 做代码审查与项目管理,但 Lone 的核心代码坚持亲自手写、逐行审查。
核心理念:剥离 legacy 层,直接从内核 ABI 出发,重新掌控整个软件栈。
💡 金句
“Modern Linux user space is monstrous and labyrinthine. Linux itself is not. The basis of everything is actually the Linux system call binary interface. We can actually trash the entire user space and start from scratch with nothing but Linux.”