English
Related papers

Related papers: Refinement Kinds: Type-safe Programming with Pract…

200 papers

Bidirectional typing combines two modes of typing: type checking, which checks that a program satisfies a known type, and type synthesis, which determines a type from the program. Using checking enables bidirectional typing to support…

Programming Languages · Computer Science 2022-03-21 Jana Dunfield , Neel Krishnaswami

Style is a significant component of natural language text, reflecting a change in the tone of text while keeping the underlying information the same. Even though programming languages have strict syntax rules, they also have style. Code can…

Computation and Language · Computer Science 2022-09-15 Karl Munson , Anish Savla , Chih-Kai Ting , Serenity Wade , Kiran Kate , Kavitha Srinivas

Subtyping, also known as subtype polymorphism, is a concept extensively studied in programming language theory, delineating the substitutability relation among datatypes. This property ensures that programs designed for supertype objects…

Artificial Intelligence · Computer Science 2025-02-14 Đorđe Marković , Marc Denecker

The foundational capabilities of large language models (LLMs) are deeply influenced by the quality of their pre-training corpora. However, enhancing data quality at scale remains a significant challenge, primarily due to the trade-off…

Computation and Language · Computer Science 2025-07-10 Baolong Bi , Shenghua Liu , Xingzhang Ren , Dayiheng Liu , Junyang Lin , Yiwei Wang , Lingrui Mei , Junfeng Fang , Jiafeng Guo , Xueqi Cheng

In dependently typed programming, proofs of basic, structural properties can be embedded implicitly into programs and do not need to be written explicitly. Besides saving the effort of writing separate proofs, a most distinguishing and…

Programming Languages · Computer Science 2021-03-09 Hsiang-Shang Ko

Semantic data fuels many different applications, but is still lacking proper integration into programming languages. Untyped access is error-prone while mapping approaches cannot fully capture the conceptualization of semantic data. In this…

Programming Languages · Computer Science 2016-10-25 Martin Leinberger , Ralf Lämmel , Steffen Staab

In the theory of programming languages, type inference is the process of inferring the type of an expression automatically, often making use of information from the context in which the expression appears. Such mechanisms turn out to be…

Logic in Computer Science · Computer Science 2012-05-10 Jeremy Avigad

Achieving zero-cost specialization remains a fundamental challenge in programming language and compiler design. It often necessitates trade-offs between expressive power and type system soundness, as the interaction between conditional…

Programming Languages · Computer Science 2026-04-14 Federico Bruzzone , Walter Cazzola

Refinement is one of the cornerstones of a formal approach to software engineering. Refinement is the process of developing a more detailed design or implementation from an abstract specification through a sequence of mathematically-based…

Logic in Computer Science · Computer Science 2018-10-23 John Derrick , Brijesh Dongol , Steve Reeves

A systematic way of defining variants of a modeling language is useful for adapting the language to domain or project specific needs. Variants can be obtained by adapting the syntax or semantics of the language. In this paper, we take a…

Software Engineering · Computer Science 2014-09-24 Hans Grönninger , Bernhard Rumpe

Proving only over source code that programs do not leak sensitive data leaves a gap between reasoning and reality that can only be filled by accounting for the behaviour of the compiler. Furthermore, software does not always have the luxury…

Programming Languages · Computer Science 2023-06-22 Robert Sison , Toby Murray

Refinement calculus provides a structured framework for the progressive and modular development of programs, ensuring their correctness throughout the refinement process. This paper introduces a refinement calculus tailored for quantum…

Logic in Computer Science · Computer Science 2023-11-27 Yuan Feng , Li Zhou , Yingte Xu

Many programming language techniques for incremental computation employ programmer-specified names for cached information. At runtime, each name identifies a "cache location" for a dynamic data value or a sub-computation; in sum, these…

Programming Languages · Computer Science 2021-03-24 Matthew A. Hammer , Jana Dunfield , Dimitrios J. Economou , Monal Narasimhamurthy

We present a type system capable of guaranteeing the memory safety of programs that may involve (sophisticated) pointer manipulation such as pointer arithmetic. With its root in a recently developed framework Applied Type System (ATS), the…

Programming Languages · Computer Science 2018-10-30 Hongwei Xi , Dengping Zhu

We introduce Flux, which shows how logical refinements can work hand in glove with Rust's ownership mechanisms to yield ergonomic type-based verification of low-level pointer manipulating programs. First, we design a novel refined type…

Programming Languages · Computer Science 2022-11-15 Nico Lehmann , Adam Geller , Niki Vazou , Ranjit Jhala

FreezeML is a new approach to first-class polymorphic type inference that employs term annotations to control when and how polymorphic types are instantiated and generalised. It conservatively extends Hindley-Milner type inference and was…

Programming Languages · Computer Science 2022-07-21 Frank Emrich , Jan Stolarek , James Cheney , Sam Lindley

The notion of subtyping has gained an important role both in theoretical and applicative domains: in lambda and concurrent calculi as well as in programming languages. The soundness and the completeness, together referred to as the…

Logic in Computer Science · Computer Science 2016-02-12 Mariangiola Dezani-Ciancaglini , Silvia Ghilezan , Svetlana Jakšić , Jovanka Pantović , Nobuko Yoshida

Large language models possess impressive capabilities in generating programs (e.g., Python) from natural language descriptions to execute robotic tasks. However, these generated programs often contain errors that violate externally given…

Artificial Intelligence · Computer Science 2025-11-10 Yunhao Yang , Neel P. Bhatt , William Ward , Zichao Hu , Joydeep Biswas , Ufuk Topcu

One of the most fundamental aspects of quantum circuit design is the concept of families of circuits parametrized by an instance size. As in classical programming, metaprogramming allows the programmer to write entire families of circuits…

Quantum Physics · Physics 2019-08-08 Matthew Amy

In recent years, Large Language Models (LLMs) have demonstrated remarkable generative abilities, but can they judge the quality of their own generations? A popular concept, referred to as self-refinement, postulates that LLMs can detect and…

Computation and Language · Computer Science 2023-11-15 Kumar Shridhar , Koustuv Sinha , Andrew Cohen , Tianlu Wang , Ping Yu , Ram Pasunuru , Mrinmaya Sachan , Jason Weston , Asli Celikyilmaz