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.8.zip (60.1 kB view details)

Uploaded Source

calysto_scheme-1.0.8.tar.gz (55.8 kB view details)

Uploaded Source

Built Distribution

calysto_scheme-1.0.8-py2-none-any.whl (57.9 kB view details)

Uploaded Python 2

File details

Details for the file calysto_scheme-1.0.8.zip.

File metadata

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

File hashes

Hashes for calysto_scheme-1.0.8.zip
Algorithm Hash digest
SHA256 9e857ed9003968af937b0044e97339d6ff2707ce46640b4b8a62154e39421a93
MD5 93089c66322190ecb31d87a25ac7ca49
BLAKE2b-256 66409161172a623ebdaf96bfe1200d9af47b9a4008bf143f20c2fe47f9f3c983

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.0.8.tar.gz
Algorithm Hash digest
SHA256 03c02fb45db0898343874e7a0d5e035aaa00d452ba94ec9fcc776b91b5a1e42a
MD5 7ddbb0babf1b7d75e4ed1ed6c832a292
BLAKE2b-256 a81677d0a57bdd80acdc0d3c5456da98e67fbc9a4c212ed35564fc812fd95265

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.0.8-py2-none-any.whl
Algorithm Hash digest
SHA256 7d3b41ba0a31a71b6fb36f4b8fd1cc1e0162c633a3b22bb4267b5b93cef0ea4a
MD5 b8bc049fb9b1b2d7751aa309f87fbe92
BLAKE2b-256 3b5eaee9dd09d4d184dfc8b9c015a509cca29846d94b8242f6c81e01df050cf6

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