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

Uploaded Source

calysto_scheme-1.1.8.tar.gz (79.5 kB view details)

Uploaded Source

Built Distribution

calysto_scheme-1.1.8-py2-none-any.whl (81.9 kB view details)

Uploaded Python 2

File details

Details for the file calysto_scheme-1.1.8.zip.

File metadata

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

File hashes

Hashes for calysto_scheme-1.1.8.zip
Algorithm Hash digest
SHA256 66eb86358848f4410c05d9409cb9cd28dc31de74b72c398139f453a52eae8fc0
MD5 18adcc5ad8d68f62de189ef6568b0b6b
BLAKE2b-256 748764fe66050807cacfd334e4e9bd32beb6d1ba372ba51b0c42895959a02732

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.8.tar.gz
Algorithm Hash digest
SHA256 33eb9f95febabba31829039902b628910f03fd70532472a0ed7c5a2a972d5ce9
MD5 fda4a1ef59ef270ca26b4ab1c321fad1
BLAKE2b-256 ac3f869f90440aa359b7468017b44d6db99295056eeffd72f0b89a636ff44ea4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.8-py2-none-any.whl
Algorithm Hash digest
SHA256 68f6732370a6d74cd9cfebd3afb084a86423f5ea17d092ec6e5046d9ebb02a2b
MD5 74dd93f65bd43dba594b7894228babb3
BLAKE2b-256 817c7abd53dabb40823f393b8e198291f30a01718935a0a1fe5384ad7e527d2c

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