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 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


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

Uploaded Source

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

Uploaded Source

Built Distribution

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

Uploaded Python 2

File details

Details for the file calysto_scheme-1.1.3.zip.

File metadata

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

File hashes

Hashes for calysto_scheme-1.1.3.zip
Algorithm Hash digest
SHA256 c1ca5fb1ee17e7ae06006a8838ce52415a00e422a685c8b2fcea75b97b53aa09
MD5 c22d3727462e3c62a6b8e4bd9445debf
BLAKE2b-256 743e96e8a6f820e5376d098522f5ba73dc13b4fcf05bd5f21014f302ba5946b8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.3.tar.gz
Algorithm Hash digest
SHA256 ce4a671cbd60a3cb8bc818b86c70345e4df42b3906fd7e54d0195dd60a906e76
MD5 6db6648b9db69f9b9e8f54a9b21fb86b
BLAKE2b-256 0df46bf900b128ae10908c36a0839b79fe1a002b6bb65e4bbb27f35ac51ea249

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.3-py2-none-any.whl
Algorithm Hash digest
SHA256 cbd59e4ebe333065750e8f9f57dedb8c00fee95968d38c2ab890ea706aeca7ad
MD5 49d6031626a5b2d7f328462dcf5bd88d
BLAKE2b-256 e5ab8f6e9ab1f3400160c89f047dfe427314e0992e35aec8e9d0dcec1d59f60c

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