A Scheme kernel for Jupyter that can use Python libraries
Project description
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.
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/src/Scheme.py However, you can easily install it (see below).
Calysto Scheme in use:
[CS245: Programming Languages](https://athena.brynmawr.edu/jupyter/hub/dblank/public/CS245%20Programming%20Languages/2014-Fall/Programming%20Languages,%20Syllabus.ipynb)
You can install Calysto Scheme with Python3:
` pip3 install --upgrade calysto-scheme --user python3 -m calysto_kernel install --user `
or in the system kernel folder with:
` sudo pip3 install --upgrade calysto-scheme sudo python3 -m calysto_kernel install `
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 console, qtconsole, or notebook with IPython 3:
` ipython console --kernel calysto_scheme ipython qtconsole --kernel calysto_scheme ipython notebook --kernel calysto_scheme `
Requires:
ipython=>3.0
Python2 or Python3
metakernel (installed automatically)
Calysto Scheme supports:
continuations
use of all Python libraries
choose/fail
produces stack trace (with line numbers), like Python
test suite
Planned:
Object-oriented class definitions and instance creation
complete Scheme functions (one can fall back to Python for now)
Limitations:
Currently a couple of magnitudes slower than Python
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for calysto_scheme-1.1.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a57b02608c03c407547c836a0826cd0d8bbcf5397015eb18f39ea71e3e0a003 |
|
MD5 | 8afccbddb56e72f247a93af1efcc7d39 |
|
BLAKE2b-256 | ecfff2e2f0bf5ebf14f4a9c82ea927dfb315ea13c686dd1ef39fc0ebb4867d1a |
Hashes for calysto_scheme-1.1.6-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b068a7470810056e30ace6ca35d756611c1f558da82b5cee36f886203b45ba67 |
|
MD5 | 649d3ff0dd73b36c63bcecd0ea48a978 |
|
BLAKE2b-256 | 0327ea29c4c309754807ee9e7105bb9eca39e7eab407924d3115edda3003bc59 |