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

Uploaded Source

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

Uploaded Source

Built Distributions

calysto_scheme-1.1.7-py3-none-any.whl (81.9 kB view details)

Uploaded Python 3

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

Uploaded Python 2

File details

Details for the file calysto_scheme-1.1.7.zip.

File metadata

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

File hashes

Hashes for calysto_scheme-1.1.7.zip
Algorithm Hash digest
SHA256 2f668e077c62f456318bcfc85a37b22cdbc7508c68b6713791ee9d2c0e84a3ad
MD5 02d5608a6e619825ee7f9284b65140ab
BLAKE2b-256 b386d62d2d0eeb8a3d8048c7a81821c671c746e56af271d5d75bec63094f9e29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.7.tar.gz
Algorithm Hash digest
SHA256 0b07eb08f94d7dd279c3d0bb47214208d1c8c89ca1c62859e62cd2c867021b5a
MD5 e35817d1754e5d22e6aa2491a6b3a6a8
BLAKE2b-256 93358583764d1bf44bb4f2e24b3608eab350d7598b6ae837b64ea789df1264c6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 22332882e5b51ab440061f2076e041d654562fc854150286a6612c681b165d9a
MD5 c8e3a826bfb36a64ef98ceaf9c057d93
BLAKE2b-256 da561b5bfeeaf07291773113b35466670e3acf2b3de5f637e5b401ef14d94266

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.7-py2-none-any.whl
Algorithm Hash digest
SHA256 cb371877f86786138de631b118c4c8a3b30137ec9038940cd0c31ab5b458b2e6
MD5 1ec923aadbee890a28a8317a38e3d853
BLAKE2b-256 c9f30cb7727e9032ef2bad66b8f0531a69481b94cba87c59120f4b4ee764e5d4

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