A Scheme kernel for Jupyter that can use Python libraries
# Calysto Scheme
You can try Calysto Scheme without installing anything by clicking on the following button:
Calysto Scheme is a real Scheme programming language, with full support for continuations, including call/cc. It can also use all Python libraries. Also has some extensions that make it more useful (stepper-debugger, choose/fail, stack traces), or make it better integrated with Python. For more details on using Calysto Scheme, see:
In Jupyter notebooks, because Calysto Scheme uses [MetaKernel](https://github.com/Calysto/metakernel/blob/master/README.rst), it has a fully-supported set of “magics”—meta-commands for additional functionality. This includes running Scheme in parallel. See all of the [MetaKernel Magics](https://github.com/Calysto/metakernel/blob/master/metakernel/magics/README.md).
Calysto Scheme is written in Scheme, and then translated into Python (and other backends). The entire functionality lies in a single Python file: https://github.com/Calysto/calysto_scheme/blob/master/calysto_scheme/scheme.py However, you can easily install it (see below).
Calysto Scheme in use:
- [CS245: Programming Languages - 2014, Fall](https://jupyter.brynmawr.edu/services/public/dblank/CS245%20Programming%20Languages/2014-Fall/Programming%20Languages,%20Syllabus.ipynb)
- [CS245: Programming Languages - 2016, Fall](https://jupyter.brynmawr.edu/services/public/dblank/CS245%20Programming%20Languages/2016-Fall/Syllabus.ipynb)
- Videos: https://www.youtube.com/watch?v=2w-iO701g_w
You can install Calysto Scheme with Python3:
` pip3 install --upgrade calysto-scheme --user python3 -m calysto_scheme install --user `
or in the system kernel folder with:
` sudo pip3 install --upgrade calysto-scheme sudo python3 -m calysto_scheme install `
You can also use the –sys-prefix to install into your virtualenv.
Change pip3/python3 to use a different pip or Python. The version of Python used will determine how Calysto Scheme is run.
Use it in the Jupyter console, qtconsole, or notebook:
` jupyter console --kernel calysto_scheme jupyter qtconsole --kernel calysto_scheme jupyter notebook `
You can also just use the Python program, but it doesn’t have a fancy Read-Eval-Print Loop. Just run:
` python calysto_scheme/scheme.py `
- metakernel (installed automatically)
Calysto Scheme can also be un under PyPy for increased performance.
Calysto Scheme supports:
- use of all Python libraries
- choose/fail - built in fail and try again
- produces stack trace (with line numbers), like Python
- test suite
- Object-oriented class definitions and instance creation
- complete Scheme functions (one can fall back to Python for now)
- Runs slow on CPython; try PyPy
Release history Release notifications
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size & hash||File type||Python version||Upload date|
|calysto_scheme-1.4.6-py2.py3-none-any.whl (313.4 kB) View hashes||Wheel||py2.py3|
|calysto_scheme-1.4.6.tar.gz (198.9 kB) View hashes||Source||None|
Hashes for calysto_scheme-1.4.6-py2.py3-none-any.whl