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.10.zip (77.8 kB view details)

Uploaded Source

calysto_scheme-1.0.10.tar.gz (73.2 kB view details)

Uploaded Source

Built Distribution

calysto_scheme-1.0.10-py2-none-any.whl (75.5 kB view details)

Uploaded Python 2

File details

Details for the file calysto_scheme-1.0.10.zip.

File metadata

File hashes

Hashes for calysto_scheme-1.0.10.zip
Algorithm Hash digest
SHA256 f1210f6671e3390493301895dee9221d77d985140a11c8c90b2b2b39d728a689
MD5 a953e202157e1db12d5d2ebd0a4b0dc3
BLAKE2b-256 4fc7127dc2dcb9c37c2da947950d274f272c811b047c1450ca87a890db035f03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.0.10.tar.gz
Algorithm Hash digest
SHA256 12013cdb8c6df148bdf39e394f0291920ec594533ddc3302fd038c0f3bea7796
MD5 3f2127231c4bf8d016f2bd4ca32a4654
BLAKE2b-256 2aef028bf949ee5a59381d22993f0c9d86260c311cdbf4804f6c6abe0ab3481b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.0.10-py2-none-any.whl
Algorithm Hash digest
SHA256 39d0628adbe074e7bcb00a4966f9e9c3dacce85a2333a935c6ac89a53f441099
MD5 dfe77448fcdb6df3e2cbe00127b4975d
BLAKE2b-256 414f4fddb29e28541dd0d6f3e98e06baa5ee9b2d41b0d58b2872fcda46d0bd17

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