English
Related papers

Related papers: A Functional Programming Language with Versions

200 papers

Like conventional software projects, projects in model-driven software engineering require adequate management of multiple versions of development artifacts, importantly allowing living with temporary inconsistencies. In the case of…

Software Engineering · Computer Science 2023-01-03 Matthias Barkowsky , Holger Giese

CalcuList (Calculator with List manipulation), is an educational language for teaching functional programming extended with some imperative and side-effect features, which are enabled under explicit request by the programmer. In addition to…

Programming Languages · Computer Science 2018-02-20 Domenico Sacca' , Angelo Furfaro

Dependent types provide a lightweight and modular means to integrate programming and formal program verification. In particular, the types of programs written in dependently typed programming languages (Agda, Idris, F*, etc.) can be used to…

Logic in Computer Science · Computer Science 2017-10-10 Danel Ahman

We describe a type system for the linear-algebraic lambda-calculus. The type system accounts for the part of the language emulating linear operators and vectors, i.e. it is able to statically describe the linear combinations of terms…

Logic in Computer Science · Computer Science 2012-08-01 Pablo Arrighi , Alejandro Díaz-Caro , Benoît Valiron

Classical programming languages cannot model essential elements of complex systems such as true random number generation. This paper develops a formal programming language called the lambda-q calculus that addresses the fundamental…

Quantum Physics · Physics 2007-05-23 Philip Maymin

Value independence is enormously beneficial for reasoning about software systems at scale. These benefits carry over into the world of formal verification. Reasoning about programs algebraically is a simple affair in a proof assistant,…

Programming Languages · Computer Science 2026-02-09 Liam O'Connor , Pilar Selene Linares Arevalo , Christine Rizkallah

Monads are a popular tool for the working functional programmer to structure effectful computations. This paper presents polymonads, a generalization of monads. Polymonads give the familiar monadic bind the more general type forall a,b. L a…

Programming Languages · Computer Science 2014-06-10 Michael Hicks , Gavin Bierman , Nataliya Guts , Daan Leijen , Nikhil Swamy

Developing and maintaining software commonly requires (1) adding new data type constructors to existing applications, but also (2) adding new functions that work on existing data. Most programming languages have native support for defining…

Programming Languages · Computer Science 2023-09-27 Cas van der Rest , Casper Bach Poulsen

Prompt programming treats large language model prompts as software components with typed interfaces. Based on a literature survey of 15 recent works from 2023 to 2025, we observe a consistent trend: type systems are central to emerging…

Programming Languages · Computer Science 2025-08-19 Abhijit Paul

Code security and usability are both essential for various coding assistant applications driven by large language models (LLMs). Current code security benchmarks focus solely on single evaluation task and paradigm, such as code completion…

Computation and Language · Computer Science 2025-05-16 Yutao Mou , Xiao Deng , Yuxiao Luo , Shikun Zhang , Wei Ye

Algorithms are ways of mapping problems to solutions. An algorithm is invertible precisely when this mapping is injective, such that the initial problem can be uniquely inferred from its solution. While invertible algorithms can be…

Programming Languages · Computer Science 2022-12-08 Joachim Tilsted Kristensen , Robin Kaarsgaard , Michael Kirkedal Thomsen

This paper presents a language, Alda, that supports all of logic rules, sets, functions, updates, and objects as seamlessly integrated built-ins. The key idea is to support predicates in rules as set-valued variables that can be used and…

Programming Languages · Computer Science 2023-05-31 Yanhong A. Liu , Scott D. Stoller , Yi Tong , Bo Lin

Modern software systems are developed in diverse programming languages and often harbor critical vulnerabilities that attackers can exploit to compromise security. These vulnerabilities have been actively targeted in real-world attacks,…

Cryptography and Security · Computer Science 2025-03-27 Zhuoyun Qian , Fangtian Zhong , Qin Hu , Yili Jiang , Jiaqi Huang , Mengfei Ren , Jiguo Yu

We present a new type system with support for proofs of programs in a call-by-value language with control operators. The proof mechanism relies on observational equivalence of (untyped) programs. It appears in two type constructors, which…

Logic in Computer Science · Computer Science 2016-04-08 Rodolphe Lepigre

Grammar serves as a cornerstone in programming languages and software engineering, providing frameworks to define the syntactic space and program structure. Existing research demonstrates the effectiveness of grammar-based code…

Programming Languages · Computer Science 2025-12-11 Qingyuan Liang , Zhao Zhang , Zeyu Sun , Zheng Lin , Qi Luo , Yueyi Xiao , Yizhou Chen , Yuqun Zhang , Haotian Zhang , Lu Zhang , Bin Chen , Yingfei Xiong

Today's programmers face a false choice between creating software that is extensible and software that is correct. Specifically, dynamic languages permit software that is richly extensible (via dynamic code loading, dynamic object…

Programming Languages · Computer Science 2016-08-23 Matthew A. Hammer , Bor-Yuh Evan Chang , David Van Horn

Various deep learning-based approaches utilizing pre-trained language models (PLMs) have been proposed for automated vulnerability detection. With recent advancements in large language models (LLMs), several studies have begun exploring…

Software Engineering · Computer Science 2026-03-11 Honglin Shu , Michael Fu , Junji Yu , Dong Wang , Chakkrit Tantithamthavorn , Junjie Chen , Yasutaka Kamei

The RPC calculus is a simple semantic foundation for multi-tier programming languages such as Links in which located functions can be written for the client-server model. Subsequently, the typed RPC calculus is designed to capture the…

Programming Languages · Computer Science 2020-05-26 Kwanghoon Choi , James Cheney , Simon Fowler , Sam Lindley

Synchronous languages rely on formal methods to ease the development of applications in an efficient and reusable way. Formal methods have been advocated as a means of increasing the reliability of systems, especially those which are safety…

Programming Languages · Computer Science 2009-04-20 Annie Ressouche , Daniel Gaffé , Valérie Roy

When programmers want to prove strong program invariants, they are usually faced with a choice between using theorem provers and using traditional programming languages. The former requires them to provide program proofs, which, for many…

Programming Languages · Computer Science 2013-11-28 Jonathan Protzenko