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
- 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.