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

Uploaded Source

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

Uploaded Source

Built Distributions

calysto_scheme-1.1.6-py3-none-any.whl (81.8 kB view details)

Uploaded Python 3

calysto_scheme-1.1.6-py2-none-any.whl (81.8 kB view details)

Uploaded Python 2

File details

Details for the file calysto_scheme-1.1.6.zip.

File metadata

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

File hashes

Hashes for calysto_scheme-1.1.6.zip
Algorithm Hash digest
SHA256 967d84961949541200571a60d57f7a142b35ac28b7c5398441e3beb0e6bb7176
MD5 2067437f772d41441fe5e01df33968ec
BLAKE2b-256 7123bdfd8902ee878d8ee6886e7266cdd2b36a84e4d8c71b7609722a2782de46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.6.tar.gz
Algorithm Hash digest
SHA256 b6ee946ddfd20dba823205d8af9113cb92bc23760ea70e336c1fbe0e4591be79
MD5 1ef000f23a2bd4199f8b9bd1b84c338b
BLAKE2b-256 b07f517a3f27183db4492067ee1b3a7bd168410ab7943f6ee7f95dca98a7f087

See more details on using hashes here.

File details

Details for the file calysto_scheme-1.1.6-py3-none-any.whl.

File metadata

File hashes

Hashes for calysto_scheme-1.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 8a57b02608c03c407547c836a0826cd0d8bbcf5397015eb18f39ea71e3e0a003
MD5 8afccbddb56e72f247a93af1efcc7d39
BLAKE2b-256 ecfff2e2f0bf5ebf14f4a9c82ea927dfb315ea13c686dd1ef39fc0ebb4867d1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.6-py2-none-any.whl
Algorithm Hash digest
SHA256 b068a7470810056e30ace6ca35d756611c1f558da82b5cee36f886203b45ba67
MD5 649d3ff0dd73b36c63bcecd0ea48a978
BLAKE2b-256 0327ea29c4c309754807ee9e7105bb9eca39e7eab407924d3115edda3003bc59

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