Skip to main content

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:

You can install Calysto Scheme with Python3:

` pip3 install --upgrade calysto-scheme --user python3 -m matlab_kernel install --user `

or in the system kernel folder with:

` sudo pip3 install --upgrade calysto-scheme sudo python3 -m matlab_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

calysto_scheme-1.0.11.zip (84.0 kB view details)

Uploaded Source

calysto_scheme-1.0.11.tar.gz (79.1 kB view details)

Uploaded Source

File details

Details for the file calysto_scheme-1.0.11.zip.

File metadata

File hashes

Hashes for calysto_scheme-1.0.11.zip
Algorithm Hash digest
SHA256 9a49f29907ab7314e6f72e6510efc87f68e3ea0e7e9254a59767dfa2bbaa54ed
MD5 972a7c32c80f546a6f5e72b7a0ef8426
BLAKE2b-256 56a7fe4357306af53d1e0ce3a0285c67e0ec28bcc666bca06f98a5d14fc8e17b

See more details on using hashes here.

File details

Details for the file calysto_scheme-1.0.11.tar.gz.

File metadata

File hashes

Hashes for calysto_scheme-1.0.11.tar.gz
Algorithm Hash digest
SHA256 00783d44fa4ae3db0cfb700b2e631c99a9c9d65ae49d52cc5087825dcfd58a30
MD5 ab3b07129cb63217f8b22a4b0af71557
BLAKE2b-256 52f9ec2c1500ec34d9e5e534566fb4d45eecc6cf1c4b9876777497b948324e02

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page