English
Related papers

Related papers: A Complementary Approach to Incorrectness Typing

200 papers

This paper introduces a simple type system for combinatory logic in which combinators have at most one type, whose polymorphism is revealed by application. The combinatory types exactly describe the structure of their values, which may be…

Logic in Computer Science · Computer Science 2026-04-15 Barry Jay , Johannes Bader

Type-level programming is an increasingly popular way to obtain additional type safety. Unfortunately, it remains a second-class citizen in the majority of industrially-used programming languages. We propose a new dependently-typed system…

Programming Languages · Computer Science 2020-11-17 Georg Stefan Schmid , Olivier Blanvillain , Jad Hamza , Viktor Kunčak

We describe a "top down" approach for automated theorem proving (ATP). Researchers might usefully investigate the forms of the theorems mathematicians use in practice, carefully examine how they differ and are proved in practice, and code…

Logic in Computer Science · Computer Science 2023-08-09 C. E. Larson , N. Van Cleemput

The definitional equality of an intensional type theory is its test of type compatibility. Today's systems rely on ordinary evaluation semantics to compare expressions in types, frustrating users with type errors arising when evaluation…

Programming Languages · Computer Science 2013-06-18 Guillaume Allais , Pierre Boutillier , Conor McBride

Type soundness is an important property of modern programming languages. In this paper we explore the idea that "well-typed languages are sound": the idea that the appropriate typing discipline over language specifications guarantees that…

Programming Languages · Computer Science 2016-11-17 Matteo Cimini , Dale Miller , Jeremy G. Siek

In this paper, we argue that type inferencing incorrectly implements appropriateness specifications for typed feature structures, promote a combination of type resolution and unfilling as a correct and efficient alternative, and consider…

cmp-lg · Computer Science 2008-02-03 Dale Gerdemann , Paul John King

We present a type system and inference algorithm for a rich subset of JavaScript equipped with objects, structural subtyping, prototype inheritance, and first-class methods. The type system supports abstract and recursive objects, and is…

Programming Languages · Computer Science 2016-10-19 Satish Chandra , Colin S. Gordon , Jean-Baptiste Jeannin , Cole Schlesinger , Manu Sridharan , Frank Tip , Youngil Choi

Rewriting is a formalism widely used in computer science and mathematical logic. The classical formalism has been extended, in the context of functional languages, with an order over the rules and, in the context of rewrite based languages,…

Logic in Computer Science · Computer Science 2019-06-12 Horatiu Cirstea , Pierre-Etienne Moreau

Type analyses of logic programs which aim at inferring the types of the program being analyzed are presented in a unified abstract interpretation-based framework. This covers most classical abstract interpretation-based type analyzers for…

Software Engineering · Computer Science 2009-09-29 Claudio Vaucheret , Francisco Bueno

Partial correctness of imperative or functional programming divides in logic programming into two notions. Correctness means that all answers of the program are compatible with the specification. Completeness means that the program produces…

Logic in Computer Science · Computer Science 2025-08-26 Włodzimierz Drabent

This paper presents a new type analysis for logic programs. The analysis is performed with a priori type definitions; and type expressions are formed from a fixed alphabet of type constructors. Non-discriminative union is used to join type…

Programming Languages · Computer Science 2010-12-16 Lunjin Lu

Correctness of program transformations in extended lambda calculi with a contextual semantics is usually based on reasoning about the operational semantics which is a rewrite semantics. A successful approach to proving correctness is the…

Programming Languages · Computer Science 2010-12-23 Conrad Rau , Manfred Schmidt-Schauß

We revisit occurrence typing, a technique to refine the type of variables occurring in type-cases and, thus, capturesome programming patterns used in untyped languages. Although occurrence typing was tied from its inceptionto set-theoretic…

Programming Languages · Computer Science 2022-02-25 Giuseppe Castagna , Victor Lanvin , Mickaël Laurent , Kim Nguyen

Toman et al. have proposed a type system for automatic verification of low-level programs, which combines ownership types and refinement types to enable strong updates of refinement types in the presence of pointer aliases. We extend their…

Programming Languages · Computer Science 2023-12-12 Izumi Tanaka , Ken Sakayori , Naoki Kobayashi

The problem of mechanically formalizing and proving metatheoretic properties of programming language calculi, type systems, operational semantics, and related formal systems has received considerable attention recently. However, the dual…

Programming Languages · Computer Science 2017-05-29 James Cheney , Alberto Momigliano

In this essay, I present the advantages and, I dare say, the beauty of programming in a language with set-theoretic types, that is, types that include union, intersection, and negation type connectives. I show by several examples how…

Programming Languages · Computer Science 2024-11-18 Giuseppe Castagna

We show how (well-established) type systems based on non-idempotent intersection types can be extended to characterize termination properties of functional programming languages with pattern matching features. To model such programming…

Programming Languages · Computer Science 2024-08-21 Sandra Alves , Delia Kesner , Miguel Ramos

This paper describes a simpler way for programmers to reason about the correctness of their code. The study of semantics of logic programs has shown strong links between the model theoretic semantics (truth and falsity of atoms in the…

Logic in Computer Science · Computer Science 2014-11-17 Lee Naish

We present a linear functional calculus with both the safety guarantees expressible with linear types and the rich language of combinators and composition provided by functional programming. Unlike previous combinations of linear typing and…

Programming Languages · Computer Science 2017-03-17 J. Garrett Morris

The framework Pure Type System (PTS) offers a simple and general approach to designing and formalizing type systems. However, in the presence of dependent types, there often exist certain acute problems that make it difficult for PTS to…

Programming Languages · Computer Science 2017-03-28 Hongwei Xi