• Stars
    star
    197
  • Rank 197,722 (Top 4 %)
  • Language
    Jupyter Notebook
  • License
    BSD 2-Clause "Sim...
  • Created almost 10 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

An enhanced interactive Shell for Common Lisp (based on the Jupyter protocol)

cl-jupyter

An enhanced interactive Shell for Common Lisp (based on the Jupyter protocol)

 cl-jupyter: an enhanced interactive Common Lisp Shell
(Version 0.8 - Jupyter protocol v.5.0)
--> (C) 2014-2018 Frederic Peschanski (cf. LICENSE)
                                 __________       
                                /         /.      
     .-----------------.       /_________/ |      
    /                 / |      |         | |      
   /+================+\ |      | |====|  | |      
   ||cl-jupyter      || |      |         | |      
   ||                || |      | |====|  | |      
   ||* (fact 5)      || |      |         | |      
   ||120             || |      |   ___   | |      
   ||                || |      |  |166|  | |      
   ||                ||/@@@    |   ---   | |      
   \+================+/    @   |_________|./.     
                         @           ..  ....'    
     ..................@      __.'. '  ''         
    /oooooooooooooooo//      ///                  
   /................//      /_/                   
   ------------------                          

Important : cl-jupyter is entering maintenance, I do not plan further enhancement beyond bug fixes. A derivative of cl-jupyter with more features supported is available at: https://github.com/yitzchak/common-lisp-jupyter

Requirements

To try cl-jupyter you need :

  • a Common lisp implementation, for now

    • either SBCL 1.3.x or above (with native threads enabled)

    • or Clozure CL 1.10 or above (with native threads enabled) ...

    • CLASP supported on a separate 'widget' branch (drmeister version)

    • ECL is planned, for other implementations please fill an issue.

  • Quicklisp (cf. http://www.quicklisp.org)

  • Python 3.x (cf. http://www.python.org)

  • Jupyter 4.x (cf. http://www.jupyter.org)

Quick install

Please run the installation script :

python3 ./install-cl-jupyter.py

By default, cl-jupyter assumes SBCL as the default lisp implementation. Using CCL instead requires the following command line:

python3 ./install-cl-jupyter.py  --lisp=ccl

Note: cl-jupyter seems to work better with CCL on MacOS but on Linux everything's fine with SBCL and it is the most tested configuration. Alas, it seems cl-jupyter does not work on Windows (I cannot try myself). If using a VM I would recommend the Linux/SBCL configuration.

As an optional step, you can pre-install the quicklisp dependencies to avoid a veeeerrrry long first startup.

  • using SBCL

    sbcl --load ./cl-jupyter.lisp
    
  • using CCL

    ccl --load ./cl-jupyter.lisp
    

Running cl-jupyter

The following commnad starts the jupyter notebook environment.

    jupyter notebook

The file about-cl-jupyter.ipynb is an example of a Lisp-based notebook.

The file about-cl-jupyter.pdf is a printable PDF version of this notebook that can be generated by the Jupyter nbconvert tool.

Note: the jupyter console and qtconsole are not (well) supported.


... have fun !