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.1.0.zip (83.9 kB view details)

Uploaded Source

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

Uploaded Source

Built Distribution

calysto_scheme-1.1.0-py2-none-any.whl (81.7 kB view details)

Uploaded Python 2

File details

Details for the file calysto_scheme-1.1.0.zip.

File metadata

  • Download URL: calysto_scheme-1.1.0.zip
  • Upload date:
  • Size: 83.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for calysto_scheme-1.1.0.zip
Algorithm Hash digest
SHA256 5106608416717f7b4906d320c60258493e5b5f73df2a1466f328bd5e32029446
MD5 d7fa6c631d2698eb3a29e181eb67156b
BLAKE2b-256 d1ab8b0b94961ba1eb0dc422cfdde56169dd75f1e16468b4ad4926dcf9a3b067

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.0.tar.gz
Algorithm Hash digest
SHA256 80db31b01fc62ea097ec61afdde73eceb8d64e25e54838b5968a11037bde68f3
MD5 359aba1f50e4669631b433d5dd9f07b9
BLAKE2b-256 b076492a28e20ccdca1805d2dd54d965d2dce55b95bd54a7968e65d681529c0d

See more details on using hashes here.

File details

Details for the file calysto_scheme-1.1.0-py2-none-any.whl.

File metadata

File hashes

Hashes for calysto_scheme-1.1.0-py2-none-any.whl
Algorithm Hash digest
SHA256 f1c9a3cc934c8bd4322a17401c3cb0ef522ac69f08f5f079d5e0afc8e62f0639
MD5 77e7baa61e86590665407ab864f17f42
BLAKE2b-256 a29dd407d35b9863599a3fc391e3d66008e45963e4dae4cdb21d14c030ac18eb

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