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

Uploaded Source

calysto_scheme-1.1.1.tar.gz (79.1 kB view details)

Uploaded Source

Built Distribution

calysto_scheme-1.1.1-py2-none-any.whl (81.7 kB view details)

Uploaded Python 2

File details

Details for the file calysto_scheme-1.1.1.zip.

File metadata

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

File hashes

Hashes for calysto_scheme-1.1.1.zip
Algorithm Hash digest
SHA256 e9383b8d0fe959bfa786d18ae341e90014824025487b5a3829188cda5220a17c
MD5 a409050603e84a33c67fa9a6a57bc644
BLAKE2b-256 8b6390f850b22ff5787bb944dfb1c89263fa5d4b567febed3233f4bf2af2205e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.1.tar.gz
Algorithm Hash digest
SHA256 20f52dc0d77f176efb97cbe2ad96ffed04ab9b2cf0cb36c4103e0e7f7fadeb5c
MD5 f5aa2f6ec1f8bb4331e038c75084d1e2
BLAKE2b-256 4002dda7de8a7ec36b2cb97cb679976f9993e1384e77c13f2608580e57b9618e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.1-py2-none-any.whl
Algorithm Hash digest
SHA256 5f7a22fdef7aa260ce1fc2e5345c35e2ecb00493f0843442bf6403f5a93a6fb7
MD5 bd1c2eada49dff704148496e9f91fe2e
BLAKE2b-256 fb9a123057273f2e93ca19d84a10e7193017a15150733627554c704e4321411f

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