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

Uploaded Source

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

Uploaded Source

Built Distributions

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

Uploaded Python 3

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

Uploaded Python 2

File details

Details for the file calysto_scheme-1.1.9.zip.

File metadata

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

File hashes

Hashes for calysto_scheme-1.1.9.zip
Algorithm Hash digest
SHA256 5b3ca5d202755adca510b00425997ff845a00a8f3c304f2791f65c7289692466
MD5 48c2bc33a3af83a9d4df509c67960b03
BLAKE2b-256 77cfd1ca4a43d69ac55634312c9b33cc7ab3dbb420b7a8c8c47088ed6fe640bd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.9.tar.gz
Algorithm Hash digest
SHA256 fe80dc660c56f8c5a5540a3160125f471f13b88f185fb255a0e8645b62942563
MD5 f4520349d0f2a321d844c3d50106383b
BLAKE2b-256 f023214f1433b4664338fcd64e046b85bbf68e7d658924985695a7325dda496f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 0578c6725bbceb61bc4a7cb695d97395b8e4c257c4e4002fa7c99316bc4cc81b
MD5 ea4afb59254f094153dc4b4d29e7f0d2
BLAKE2b-256 b7fe54b7ae6ea15ee1a7594696c79b3b7690440c501d7afc60ac29181df2585d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for calysto_scheme-1.1.9-py2-none-any.whl
Algorithm Hash digest
SHA256 c3ae506703531ab324818958f0f50d1cd068f4f2fb81eb872897a08c11d82559
MD5 ef374cb0e34037ad3951bd058c853a77
BLAKE2b-256 1b4797fabca6d249b7899cf926543e28ee7870be8f7629192d861ee18d63b549

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