Pavel UV Releases 'e', a Minimalist Self-Aware Editor Built on Chez Scheme
The new console-based text editor brings Emacs-style extensibility to a lightweight, R6RS-compliant environment.
Developer Pavel UV has released 'e', a compact console text editor designed as a "self-aware" system. Built using Chez Scheme, the editor functions essentially as a Scheme system, providing a programmable environment that allows users to modify the tool while it is running.
According to the project's GitHub repository, 'e' is structured as a series of R6RS libraries. It implements several classic Emacs-inspired concepts, including buffers, windows, and a kill ring, though it is not a direct clone of the legacy editor. The system is built around a minimal core featuring an immutable API; to ensure stability, the editor's internals remain hidden and its exports cannot be reassigned.
The Programmable Core
For users familiar with the Lisp tradition, 'e' provides deep integration between the editor and the underlying language. It includes a live Scheme top level accessible via the M-x command, which supports parameter hints and symbol completion. This allows developers to execute code and manipulate the editor's state in real time without restarting the application.
Furthermore, the editor supports the hot-reloading of modules. When a user saves a source file within the editor, the corresponding module is automatically reloaded, enabling a rapid development cycle for those creating custom extensions or modifying the editor's behavior.
Why It Matters
'e' represents a minimalist interpretation of the "programmable editor" philosophy. While Emacs has long been the gold standard for extensibility, its scale can be overwhelming. By utilizing Chez Scheme and a strict boundary between the core API and extension modules, Pavel UV demonstrates that a language-integrated environment can offer powerful self-modification capabilities within a lightweight console footprint.
This approach provides a middle ground for developers who want the power of a Lisp-based environment but prefer a modern, smaller implementation. The use of an immutable core API ensures that while the editor is highly customizable, the fundamental stability of the system is preserved.
What's Next
As a project hosted on GitHub, 'e' serves as a functional demonstration of how R6RS libraries can be leveraged to create a cohesive, self-modifying tool. Future adoption will likely depend on the community's ability to build out the library of extensions that make Emacs-like systems viable for daily professional use.