This project transforms the M5Stack Cardputer into a standalone, pocket-sized Lisp Machine. Built on top of uLisp, it replaces the standard serial-blocking REPL with a resident micro-Emacs style text editor.
By utilizing a dual-memory architecture, text editing is handled natively in C++ (via efficient Gap Buffers allocated in the ESP32-S3 SRAM/PSRAM), while the uLisp Workspace remains 100% dedicated to code execution. This allows for smooth, multi-buffer text editing (=scratch=, =REPL=) and seamless on-device S-expression evaluation (Zero-Copy Eval) without triggering Lisp Garbage Collection pauses during typing.
Key Features:
- Native Micro-Emacs UI: Modeline, minibuffer, and dynamic buffer management.
- Hardware Keymap: Support for physical modifier chords (=CTRL=, =OPT=) on the Cardputer keyboard.
- Zero-Copy Evaluation: Evaluate S-expressions directly from the editor buffer (=C-x C-e=) into the uLisp engine.
- Legacy Support: The standard USB Serial REPL, WiFi stack, and hardware I/O remain fully functional.