English
Related papers

Related papers: Typing rule-based transformations over topological…

200 papers

We present an extension of System F with call-by-name exceptions. The type system is enriched with two syntactic constructs: a union type for programs whose execution may raise an exception at top level, and a corruption type for programs…

Programming Languages · Computer Science 2015-07-01 Sylvain Lebresne

We define and study "row polymorphism" for a type system with set-theoretic types, specifically union, intersection, and negation types. We consider record types that embed row variables and define a subtyping relation by interpreting types…

Programming Languages · Computer Science 2025-09-29 Giuseppe Castagna , Loïc Peyrot

We introduce a nonlinear aggregation type classifier for functional data defined on a separable and complete metric space. The new rule is built up from a collection of $M$ arbitrary training classifiers. If the classifiers are consistent,…

Statistics Theory · Mathematics 2014-11-12 Alejandro Cholaquidis , Ricardo Fraiman , Juan Kalemkerian , Pamela Llop

The expression problem describes a fundamental tradeoff between two types of extensibility: extending a type with new operations, such as by pattern matching on an algebraic data type in functional programming, and extending a type with new…

Programming Languages · Computer Science 2025-11-21 Bohdan Liesnikov , David Binder , Tim Süberkrüb

Polymorphic variants are a useful feature of the OCaml language whose current definition and implementation rely on kinding constraints to simulate a subtyping relation via unification. This yields an awkward formalization and results in a…

Programming Languages · Computer Science 2016-07-06 Giuseppe Castagna , Tommaso Petrucciani , Kim Nguyen

The class of Basic Feasible Functionals BFF$_2$ is the type-2 counterpart of the class FP of type-1 functions computable in polynomial time. Several characterizations have been suggested in the literature, but none of these present a…

Logic in Computer Science · Computer Science 2023-06-22 Emmanuel Hainry , Bruce M. Kapron , Jean-Yves Marion , Romain Péchoux

We propose to use Church encodings in typed lambda-calculi as the basis for an automata-theoretic counterpart of implicit computational complexity, in the same way that monadic second-order logic provides a counterpart to descriptive…

Logic in Computer Science · Computer Science 2019-07-02 Lê Thành Dũng Nguyên

Dynamic languages such as Python and JavaScript widely use function decorators to extend behavior. In TypeScript, a common way to type such patterns uses Parameters<T> and ReturnType<T>. In practice, this idiom relies on a function-type…

Programming Languages · Computer Science 2026-03-25 Siyuan He , Songlin Jia , Tiark Rompf

Pattern matching is a popular feature in functional, imperative and object-oriented programming languages. Language designers should therefore invest effort in a good design for pattern matching. Most languages choose a first-match…

Programming Languages · Computer Science 2025-10-16 David Binder , Lean Ermantraut

A library of software for inductive inference guided by the Minimum Message Length (MML) principle was created previously. It contains various (object-oriented-) classes and subclasses of statistical Model and can be used to infer Models…

Programming Languages · Computer Science 2022-07-12 Lloyd Allison

Declarative styles such as functional programming (FP) are rapidly gaining ground on their imperative cousins, including procedural and object-oriented programming. The shift is subtle because it is happening within the context of…

Software Engineering · Computer Science 2016-06-22 Morgan C. Benton , Nicole M. Radziwill

We present a type system for strategy languages that express program transformations as compositions of rewrite rules. Our row-polymorphic type system assists compiler engineers to write correct strategies by statically rejecting non…

Programming Languages · Computer Science 2021-03-26 Rongxiao Fu , Xueying Qin , Ornela Dardha , Michel Steuwer

Some type-based approaches to termination use sized types: an ordinal bound for the size of a data structure is stored in its type. A recursive function over a sized type is accepted if it is visible in the type system that recursive calls…

Programming Languages · Computer Science 2015-07-01 Andreas Abel

We present a unifying framework for type systems for process calculi. The core of the system provides an accurate correspondence between essentially functional processes and linear logic proofs; fragments of this system correspond to…

Logic in Computer Science · Computer Science 2015-05-29 Emmanuel Beffara

We present a type theory combining both linearity and dependency by stratifying typing rules into a level for logics and a level for programs. The distinction between logics and programs decouples their semantics, allowing the type system…

Programming Languages · Computer Science 2025-10-08 Qiancheng Fu , Hongwei Xi

Ordered, linear, and other substructural type systems allow us to expose deep properties of programs at the syntactic level of types. In this paper, we develop a family of unary logical relations that allow us to prove consequences of…

Logic in Computer Science · Computer Science 2025-03-06 C. B. Aberlé , Chris Martens , Frank Pfenning

We unify functional and logic programming by treating predicatesas functions equipped with their support: the set of inputs whose output is nonzero. Datalog, for instance, is a language of finitely supported boolean functions. Finite…

Programming Languages · Computer Science 2026-04-30 Michael Arntzenius , Max Willsey

Inspired by the trend on unifying theories of programming, this paper shows how the algebraic treatment of standard data dependency theory equips relational data with functional types and an associated type system which is useful for type…

Logic in Computer Science · Computer Science 2012-10-18 Jose N. Oliveira

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

Path polymorphism is the ability to define functions that can operate uniformly over arbitrary recursively specified data structures. Its essence is captured by patterns of the form $x\,y$ which decompose a compound data structure into its…

Logic in Computer Science · Computer Science 2020-06-30 Andrés Viso , Eduardo Bonelli , Mauricio Ayala-Rincón