PLLGOct 16, 2023

The Calysto Scheme Project

arXiv:2310.10886v1h-index: 13
Originality Synthesis-oriented
AI Analysis

This provides a tool for educators and learners to teach and explore programming languages with Scheme features in Python environments, though it is incremental as it builds on existing Scheme and Python technologies.

The Calysto Scheme Project developed a Scheme interpreter written in Scheme and transformed into Python, enabling support for standard Scheme features and Python interoperability. It has been integrated into Jupyter Notebooks and used in educational settings for teaching programming languages.

Calysto Scheme is written in Scheme in Continuation-Passing Style, and converted through a series of correctness-preserving program transformations into Python. It has support for standard Scheme functionality, including call/cc, as well as syntactic extensions, a nondeterministic operator for automatic backtracking, and many extensions to allow Python interoperation. Because of its Python foundation, it can take advantage of modern Python libraries, including those for machine learning and other pedagogical contexts. Although Calysto Scheme was developed with educational purposes in mind, it has proven to be generally useful due to its simplicity and ease of installation. It has been integrated into the Jupyter Notebook ecosystem and used in the classroom to teach introductory Programming Languages with some interesting and unique twists.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes