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

Uploaded Source

calysto_scheme-1.2.0.tar.gz (79.9 kB view details)

Uploaded Source

Built Distribution

calysto_scheme-1.2.0-py2-none-any.whl (82.2 kB view details)

Uploaded Python 2

File details

Details for the file calysto_scheme-1.2.0.zip.

File metadata

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

File hashes

Hashes for calysto_scheme-1.2.0.zip
Algorithm Hash digest
SHA256 c296783e04ebb6f4ddfbc04c6b5ce5d25a5c84b0585ed5a41baab26bbab754fc
MD5 516d0db6e4b62cd018a7561fcce20fb1
BLAKE2b-256 cc6773d5c758232018b8b0a3a3ae347f839415d9ce36dd2fcfcdba7c2b50567f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.2.0.tar.gz
Algorithm Hash digest
SHA256 02486e2ee08aa360a494fa5eae4b57bab02978b5afc5bcd74ce521ac7eb69c6f
MD5 adfe90d9c4231e38890afd135cf19106
BLAKE2b-256 cc2f426a0b79d21e3e15a5a098946613e877ec499e3f1449f5558090ed5d5c84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.2.0-py2-none-any.whl
Algorithm Hash digest
SHA256 53fd02d9433a879f35d89f0e7efc0a93fc016709fc1737514bed5d5ca1a73db1
MD5 f4351a51cd82b056a7ed4b583101bde3
BLAKE2b-256 1762a08fedff62c0cc2a1447e917333b264f6adae1d340d5a94afe066f5c4b2f

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