Skip to content

yitzchak/common-lisp-jupyter

Repository files navigation

common-lisp-jupyter

Binder Build Status

A Common Lisp kernel for Jupyter along with a library for building Jupyter kernels, based on Maxima-Jupyter by Robert Dodier which was based on cl-jupyter by Frederic Peschanski.

Installation instructions can be found in the docs directory or at install.

Features

  • Code inspection, code completeness checking, and code completion.

  • JupyterLab debugger support

  • Markdown, PDF and other MIME rendering

  • Automatic detection of MIME types for files

  • Emulation of a Lisp REPL including setting of the REPL variables -, +, ++, +++, *, **, ***, /, // and ///

  • Lisp interface to core IPython widgets is included in the jupyter-widgets package. Additional widgets are available in cytoscape-clj, kekule-clj, ngl-clj, and sheet-clj

Completion of functions/macros

Autocompletion of function and macro names is available via the tab key.

Symbol completion

Autocompletion of symbols is also available via the tab key. The symbol type is displayed in the dropdown list.

Indentation

Pressing tab while the carat is on a parenthesis while result in all forms in the cell being auto-indented.

Inspection

Pressing shift-tab while the carat is on a symbol will show context sensitive help.

Examples