English
Related papers

Related papers: The Calysto Scheme Project

200 papers

Strategy languages enable programmers to compose rewrite rules into strategies and control their application. This is useful in programming languages, e.g., for describing program transformations compositionally, but also in automated…

Programming Languages · Computer Science 2023-04-28 Rongxiao Fu , Ornela Dardha , Michel Steuwer

In Compiler Design courses, students learn how a program written in high level programming language and designed for humans understanding is systematically converted into low level assembly language understood by machines, through different…

Programming Languages · Computer Science 2022-04-14 Eduardo Adam Navas-López

CLASS is a proof-of-concept general purpose linear programming language, flexibly supporting realistic concurrent programming idioms, and featuring an expressive linear type system ensuring that programs (1) never misuse or leak stateful…

Programming Languages · Computer Science 2025-05-28 Luís Caires

A type system is introduced for a generic Object Oriented programming language in order to infer resource upper bounds. A sound andcomplete characterization of the set of polynomial time computable functions is obtained. As a consequence,…

Programming Languages · Computer Science 2018-02-20 Emmanuel Hainry , Romain Péchoux

The compactness lemma in programming language theory states that any recursive function can be simulated by a finite unrolling of the function. One important use case it has is in the logical relations proof technique for proving properties…

Programming Languages · Computer Science 2024-05-06 Matias Scharager

Computational notebooks (e.g., Jupyter, Google Colab) are widely used for interactive data science and machine learning. In those frameworks, users can start a session, then execute cells (i.e., a set of statements) to create variables,…

Databases · Computer Science 2025-03-12 Zhaoheng Li , Pranav Gor , Rahul Prabhu , Hui Yu , Yuzhou Mao , Yongjoo Park

Many object-oriented dynamic languages allow programmers to _extract methods_ from objects and treat them as functions. This allows for flexible programming patterns, but presents challenges for type systems. In particular, a simple…

Programming Languages · Computer Science 2021-11-23 Yuquan Fu , Sam Tobin-Hochstadt

We introduce process-oriented programming as a natural extension of object-oriented programming for parallel computing. It is based on the observation that every class of an object-oriented language can be instantiated as a process,…

Programming Languages · Computer Science 2014-07-22 Edward Givelberg

Universal probabilistic programming languages (PPLs) make it relatively easy to encode and automatically solve statistical inference problems. To solve inference problems, PPL implementations often apply Monte Carlo inference algorithms…

Programming Languages · Computer Science 2024-04-08 Daniel Lundén , Lars Hummelgren , Jan Kudlicka , Oscar Eriksson , David Broman

This paper discusses our proposal and implementation of Distill, a domain-specific compilation tool based on LLVM to accelerate cognitive models. Cognitive models explain the process of cognitive function and offer a path to human-like…

Programming Languages · Computer Science 2022-01-17 Jan Vesely , Raghavendra Pradyumna Pothukuchi , Ketaki Joshi , Samyak Gupta , Jonathan D. Cohen , Abhishek Bhattacharjee

This paper proposes Scalene, a profiler specialized for Python. Scalene combines a suite of innovations to precisely and simultaneously profile CPU, memory, and GPU usage, all with low overhead. Scalene's CPU and memory profilers help…

Programming Languages · Computer Science 2023-03-24 Emery D. Berger , Sam Stern , Juan Altmayer Pizzorno

In this document, we introduce PyCSP$3$, a Python library that allows us to write models of combinatorial constrained problems in a declarative manner. Currently, with PyCSP$3$, you can write models of constraint satisfaction and…

Artificial Intelligence · Computer Science 2024-08-30 Christophe Lecoutre , Nicolas Szczepanski

In this paper we introduce disciplined convex-concave programming (DCCP), which combines the ideas of disciplined convex programming (DCP) with convex-concave programming (CCP). Convex-concave programming is an organized heuristic for…

Optimization and Control · Mathematics 2016-04-12 Xinyue Shen , Steven Diamond , Yuantao Gu , Stephen Boyd

Table learning, which lies at the intersection of machine learning and modern database systems, has recently attracted growing attention. However, existing table learning frameworks typically require explicit data export and extensive…

Databases · Computer Science 2026-02-13 Feiyang Chen , Ken Zhong , Aoqian Zhang , Zheng Wang , Li Pan , Jianhua Li

This paper introduces Paraconsistent-Lib, an open-source, easy-to-use Python library for building PAL2v algorithms in reasoning and decision-making systems. Paraconsistent-Lib is designed as a general-purpose library of PAL2v standard…

Categorical Message Passing Language (CaMPL) is a functional-style concurrent programming language whose semantics is in category theory, more specifically, linear actegories. Its core programming feature is message passing along typed…

Programming Languages · Computer Science 2026-05-12 Daniel Kiyoshi Hashimoto , Alexanna Little Berg , Priyaa Varshinee Srinivasan

We introduce PrivPy, a practical privacy-preserving collaborative computation framework, especially optimized for machine learning tasks. PrivPy provides an easy-to-use and highly compatible Python programming front-end which supports…

Cryptography and Security · Computer Science 2020-04-22 Yi Li , Yitao Duan , Yu Yu , Shuoyao Zhao , Wei Xu

Motivated by the growing demand for low-precision arithmetic in computational science, we exploit lower-precision emulation in Python -- widely regarded as the dominant programming language for numerical analysis and machine learning.…

Machine Learning · Computer Science 2026-02-26 Erin Carson , Xinye Chen

Agile development processes and component-based software architectures are two software engineering approaches that contribute to enable the rapid building and evolution of applications. Nevertheless, few approaches have proposed a…

Software Engineering · Computer Science 2010-02-05 Guillaume Waignier , Estéban Duguepéroux , Anne-Françoise Le Meur , Laurence Duchien