The Calysto Scheme Project
- URL: http://arxiv.org/abs/2310.10886v1
- Date: Mon, 16 Oct 2023 23:41:21 GMT
- Title: The Calysto Scheme Project
- Authors: Douglas S. Blank and James B. Marshall
- Abstract summary: Calysto Scheme is written in Scheme in Continuation-Passing Style.
It is converted through a series of correctness-preserving program transformations into Python.
It has support for standard Scheme functionality, including call/cc.
- Score: 0.0
- License: http://creativecommons.org/licenses/by-nc-nd/4.0/
- Abstract: 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.
Related papers
- The Opaque Pointer Design Pattern in Python: Towards a Pythonic PIMPL for Modularity, Encapsulation, and Stability [0.23332469289621785]
Python libraries often need to maintain a stable public API even as internal implementations evolve, gain new backends, or depend on heavy optional libraries.<n>This paper revisits the pointer-to-implementation idiom (PIMPL) idiom from C++ and reinterprets it as a Pythonic pattern of opaque delegation.<n>We show how a Pythonic PIMPL can be used in existing runtimes to isolate heavy dependencies, support lazy imports, and enable selection of alternative backends without changing the public API.
arXiv Detail & Related papers (2026-01-27T01:02:26Z) - Functional Python Programming in Introductory Computer Science Courses [1.8139737455709233]
We present a best practice'' idea in introductory programming classes that forces students to learn and complete programming assignments in a purely functional subset of Python.<n>By doing so, the student can learn functional ideas such as immutability, pure functions with no side effects, and stateless programming.
arXiv Detail & Related papers (2025-12-03T06:39:08Z) - PyVeritas: On Verifying Python via LLM-Based Transpilation and Bounded Model Checking for C [18.52519530244078]
Python has become the dominant language for general-purpose programming, yet it lacks robust tools for formal verification.<n>We propose PyVeritas, a novel framework that leverages Large Language Models (LLMs) for high-level transpilation from Python to C.
arXiv Detail & Related papers (2025-08-11T16:49:07Z) - Rust vs. C for Python Libraries: Evaluating Rust-Compatible Bindings Toolchains [2.1984302611206537]
This study evaluates the performance and ease of use of the PyO3 Python bindings toolchain for Rust against ctypes and cffi.<n>By using Rust tooling developed for Python, we can achieve state-of-the-art performance with no concern for API compatibility.
arXiv Detail & Related papers (2025-06-30T21:14:20Z) - Automated Python Translation [27.835184325945164]
We introduce the task of automatically translating Python's natural modality into other human languages.
This presents a unique challenge, considering the abbreviated nature of these forms.
We create an automated pipeline to translate Python into other human languages.
arXiv Detail & Related papers (2025-04-15T15:30:22Z) - PyPulse: A Python Library for Biosignal Imputation [58.35269251730328]
We introduce PyPulse, a Python package for imputation of biosignals in both clinical and wearable sensor settings.
PyPulse's framework provides a modular and extendable framework with high ease-of-use for a broad userbase, including non-machine-learning bioresearchers.
We released PyPulse under the MIT License on Github and PyPI.
arXiv Detail & Related papers (2024-12-09T11:00:55Z) - depyf: Open the Opaque Box of PyTorch Compiler for Machine Learning Researchers [92.13613958373628]
textttdepyf is a tool designed to demystify the inner workings of the PyTorch compiler.
textttdepyf decompiles bytecode generated by PyTorch back into equivalent source code.
arXiv Detail & Related papers (2024-03-14T16:17:14Z) - pyvene: A Library for Understanding and Improving PyTorch Models via
Interventions [79.72930339711478]
$textbfpyvene$ is an open-source library that supports customizable interventions on a range of different PyTorch modules.
We show how $textbfpyvene$ provides a unified framework for performing interventions on neural models and sharing the intervened upon models with others.
arXiv Detail & Related papers (2024-03-12T16:46:54Z) - Automatic Generation of Python Programs Using Context-Free Grammars [0.1227734309612871]
TinyPy Generator is a tool that generates random Python programs using a context-free grammar.
Our system uses custom production rules to generate code with different levels of complexity.
TinyPy Generator is useful in the field of machine learning, where it can generate substantial amounts of Python code for training Python language models.
arXiv Detail & Related papers (2024-03-11T08:25:52Z) - LILO: Learning Interpretable Libraries by Compressing and Documenting Code [71.55208585024198]
We introduce LILO, a neurosymbolic framework that iteratively synthesizes, compresses, and documents code.
LILO combines LLM-guided program synthesis with recent algorithmic advances in automated from Stitch.
We find that AutoDoc boosts performance by helping LILO's synthesizer to interpret and deploy learned abstractions.
arXiv Detail & Related papers (2023-10-30T17:55:02Z) - Natural Language Embedded Programs for Hybrid Language Symbolic Reasoning [84.12154024070024]
We propose natural language embedded programs (NLEP) as a unifying framework for addressing math/symbolic reasoning, natural language understanding, and instruction following tasks.
Our approach prompts a language model to generate full Python programs that define functions over data structures which contain natural language representations of structured knowledge.
A Python interpreter then executes the generated code and prints the output.
arXiv Detail & Related papers (2023-09-19T17:54:21Z) - GAP-Gen: Guided Automatic Python Code Generation [3.574838772430975]
We propose a Guided Automatic Python Code Generation method based on Python syntactic constraints and semantic constraints.
GAP-Gen fine-tunes the transformer based language models T5 and CodeT5 using the Code-to-Docstring datasets.
Our experiments show that GAP-Gen achieves better results on automatic Python code generation task than previous works.
arXiv Detail & Related papers (2022-01-19T06:32:47Z) - torch.fx: Practical Program Capture and Transformation for Deep Learning
in Python [0.0]
We study the different designs for program capture and transformation used in deep learning.
By designing for typical deep learning use cases rather than long tail ones, it is possible to create a simpler framework for program capture and transformation.
We apply this principle in torch.fx, a program capture and transformation library for PyTorch written entirely in Python and optimized for high developer productivity by ML practitioners.
arXiv Detail & Related papers (2021-12-15T19:16:29Z) - Extending Python for Quantum-Classical Computing via Quantum
Just-in-Time Compilation [78.8942067357231]
Python is a popular programming language known for its flexibility, usability, readability, and focus on developer productivity.
We present a language extension to Python that enables heterogeneous quantum-classical computing via a robust C++ infrastructure for quantum just-in-time compilation.
arXiv Detail & Related papers (2021-05-10T21:11:21Z) - Python Workflows on HPC Systems [2.1485350418225244]
The recent successes and wide spread application of compute intensive machine learning and data analytics methods have been boosting the usage of the Python programming language on HPC systems.
While Python provides many advantages for the users, it has not been designed with a focus on multi-user environments or parallel programming.
In this paper, we analyze the key problems induced by the usage of Python on HPC clusters and sketch appropriate workarounds.
arXiv Detail & Related papers (2020-12-01T09:51:12Z) - OPFython: A Python-Inspired Optimum-Path Forest Classifier [68.8204255655161]
This paper proposes a Python-based Optimum-Path Forest framework, denoted as OPFython.
As OPFython is a Python-based library, it provides a more friendly environment and a faster prototyping workspace than the C language.
arXiv Detail & Related papers (2020-01-28T15:46:19Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.