Thanks to visit codestin.com
Credit goes to github.com

Skip to content

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

License

Notifications You must be signed in to change notification settings

fredokun/cl-jupyter

Repository files navigation

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 !

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •