An enhanced REPL for Steel Bank Common Lisp with graceful error handling, readline support, and an interactive debugger.
sbcli is a feature-rich REPL (Read-Eval-Print Loop) for Steel Bank Common Lisp (SBCL) designed to improve the developer experience. It provides a more user-friendly and powerful interactive environment compared to the default SBCL REPL, with robust error handling and debugging capabilities.
Common Lisp developers using SBCL who want a more interactive and resilient REPL for debugging and exploration, particularly those who frequently work in the REPL and need better error handling and editing features.
Developers choose sbcli over the default SBCL REPL for its graceful error handling that avoids crashes, integrated interactive debugger with frame-aware evaluation, and readline support with multiline input and history, making it a more productive and intuitive environment.
A REPL for my SBCL needs
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
sbcli enters an interactive debugger with restarts when errors occur, allowing developers to handle crashes without terminating the session, as detailed in the debugger command table and usage section.
With cl-readline integration, it supports multiline input, tab completion, and command history, making REPL editing smoother than the default SBCL REPL, as noted in the usage overview.
Provides quick access to documentation, disassembly, and type inspection via commands like :doc, :d, and :t, facilitating code exploration and debugging directly in the REPL.
Features like environment reset with :r, history saving with :s, and customizable prompts via .sbclirc file offer flexible workflow control, with exposed variables listed in the README.
The README highlights installation issues with cl-readline on Mac, and dependency management via Quicklisp can be complex for users not already using it, requiring manual intervention.
Optional syntax coloring using pygmentize is noted to potentially slow down rendering speed, affecting REPL responsiveness, as warned in the customization section.
The session saving command (:s) can break with results containing newlines, and it's labeled 'use at your own peril for now,' indicating incomplete robustness and potential data loss.