A Common Lisp kernel for Jupyter notebooks with a library for building custom Jupyter kernels.
common-lisp-jupyter is a Common Lisp kernel for Jupyter notebooks that allows developers to write and execute Common Lisp code interactively in Jupyter environments. It solves the problem of integrating Common Lisp into the popular Jupyter notebook ecosystem for data exploration, education, and interactive programming. The project also provides a library for building custom Jupyter kernels, extending its utility beyond just Common Lisp.
Common Lisp developers who want to use Jupyter notebooks for interactive coding, data analysis, or educational purposes, as well as developers interested in building custom Jupyter kernels.
It offers a feature-rich Common Lisp experience with code completion, debugging, and REPL emulation within Jupyter, while also providing a reusable library for kernel development, making it both a ready-to-use tool and a foundation for customization.
A Common Lisp kernel for Jupyter along with a library for building Jupyter kernels.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Offers context-sensitive help via shift-tab, function/macro autocompletion with tab, and symbol completion with type display, as shown in the README GIFs, enhancing interactive coding efficiency.
Provides JupyterLab debugger integration, allowing direct debugging of Common Lisp code within notebooks, a rare feature for Lisp kernels that bridges interactive development with modern tools.
Supports automatic MIME type detection for rendering Markdown, PDF, and other formats, plus core IPython widgets and specialized visualizations (e.g., cytoscape, molecular structures) via separate packages, enabling diverse content creation.
Emulates traditional Lisp REPL variables like -, +, *, and /, making it intuitive for seasoned Lisp programmers to use notebooks while maintaining familiar interactive workflows.
Includes a library for building custom Jupyter kernels, as stated in the description, making it a versatile foundation for extending Jupyter beyond Common Lisp, though it requires Lisp expertise.
Installation requires consulting separate docs or an online guide, likely involving multiple steps like setting up Quicklisp and configuring Jupyter, which can be daunting for users unfamiliar with Common Lisp tooling.
Advanced widgets (e.g., cytoscape-clj, kekule-clj) are in separate repositories, adding maintenance overhead and potential integration issues, as users must manage dependencies across multiple packages.
The README points to external docs for installation, and while examples are provided, there may be gaps in troubleshooting or advanced usage guidance compared to mainstream kernels.
As a specialized tool for Common Lisp, it has a smaller user base, which can mean slower bug fixes, fewer third-party extensions, and less community support than popular kernels like Python or R.