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

Uploaded Source

calysto_scheme-1.0.7.tar.gz (55.6 kB view details)

Uploaded Source

Built Distribution

calysto_scheme-1.0.7-py2-none-any.whl (57.7 kB view details)

Uploaded Python 2

File details

Details for the file calysto_scheme-1.0.7.zip.

File metadata

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

File hashes

Hashes for calysto_scheme-1.0.7.zip
Algorithm Hash digest
SHA256 7ee84b345df0c80a5c8503633906597731145aebf6f9535e5ddae58823168227
MD5 4390baa4c46a618b7f18406ae69d606a
BLAKE2b-256 9b309ea58e04f953b2659246f0e2ebd5811182db6281ffda99ad15431f972aab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.0.7.tar.gz
Algorithm Hash digest
SHA256 2561a165a081e2342fa471ff68f3eda894644b475ff6ca2a900e9981c3834ad8
MD5 be99776998e01f119ac2af56c19b2d14
BLAKE2b-256 5a2fd862ecbfb47076807a98b117f76dd0f5dae7d310bed2a0cb579cade54baf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.0.7-py2-none-any.whl
Algorithm Hash digest
SHA256 44688ebf10bfc263d7117e941a04111ab61d17ac4b6f423cdde9c8e533afc670
MD5 3828ae5ef446d5fc511d04d223054b79
BLAKE2b-256 3682a40b02918dd9e08aa7e14656ec5e2ff08891bdb9c3ea8d7f6e07123fbd7e

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