English
Related papers

Related papers: Type Soundness for Path Polymorphism

200 papers

Type-and-effect systems help the programmer to organize data and computational effects in a program. While for traditional type systems expressive variants with sophisticated inference algorithms have been developed and widely used in…

Programming Languages · Computer Science 2025-10-24 Patrycja Balik , Szymon Jędras , Piotr Polesiuk

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

Even if path planning can be solved using standard techniques from dynamic programming and control, the problem can also be approached using probabilistic inference. The algorithms that emerge using the latter framework bear some appealing…

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

Types-and-effects are type systems, which allow one to express general semantic properties and to statically reason about program's execution. They have been widely exploited to specify static analyses, for example to track computational…

Logic in Computer Science · Computer Science 2011-08-12 Letterio Galletta , Giorgio Levi

A well-established approach to reasoning about loops during program analysis is to capture the effect of a loop by extracting recurrences from the loop; these express relationships between the values of variables, or program properties such…

Logic in Computer Science · Computer Science 2021-09-13 Bishoksan Kafle , John P. Gallagher , Manuel V. Hermenegildo , Maximiliano Klemen , Pedro López-García , José F. Morales

This work studies gradual typing for row types and row polymorphism. Key ingredients in this work are the dynamic row type, which represents a statically unknown part of a row, and consistency for row types, which allows injecting static…

Programming Languages · Computer Science 2019-10-23 Taro Sekiyama , Atsushi Igarashi

As a scientific programming language, Julia strives for performance but also provides high-level productivity features. To avoid performance pathologies, Julia users are expected to adhere to a coding discipline that enables so-called type…

Programming Languages · Computer Science 2021-11-18 Artem Pelenitsyn , Julia Belyakova , Benjamin Chung , Ross Tate , Jan Vitek

Context-free session types describe structured patterns of communication on heterogeneously-typed channels, allowing the specification of protocols unconstrained by tail recursion. The enhanced expressive power provided by non-regular…

Programming Languages · Computer Science 2023-09-21 Gil Silva , Andreia Mordido , Vasco T. Vasconcelos

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

Designing networks capable of attaining better performance with an increased inference budget is important to facilitate generalization to harder problem instances. Recent efforts have shown promising results in this direction by making use…

Machine Learning · Computer Science 2022-11-21 Cem Anil , Ashwini Pokle , Kaiqu Liang , Johannes Treutlein , Yuhuai Wu , Shaojie Bai , Zico Kolter , Roger Grosse

Datatype specialization is a form of subtyping that captures program invariants on data structures that are expressed using the convenient and intuitive datatype notation. Of particular interest are structural invariants such as…

Programming Languages · Computer Science 2007-05-23 Matthew Fluet , Riccardo Pucella

Path integrals represent a powerful route to quantization: they calculate probabilities by summing over classical configurations of variables such as fields, assigning each configuration a phase equal to the action of that configuration.…

Quantum Physics · Physics 2013-02-13 Seth Lloyd , Olaf Dreyer

Type inference is an application domain that is a natural fit for logic programming (LP). LP systems natively support unification, which serves as a basic building block of typical type inference algorithms. In particular, polymorphic type…

Programming Languages · Computer Science 2017-09-13 Ki Yung Ahn

Benefits of static type systems are well-known: they offer guarantees that no type error will occur during runtime and, inherently, inferred types serve as documentation on how functions are called. On the other hand, many type systems have…

Programming Languages · Computer Science 2020-08-31 Isabel Wingen , Philipp Körner

The treatment of equality as a type in type theory gives rise to an interesting type-theoretic structure known as `identity type'. The idea is that, given terms $a,b$ of a type $A$, one may form the type $Id_{A}(a,b)$, whose elements are…

Logic in Computer Science · Computer Science 2018-04-27 Arthur Freitas Ramos , Ruy J. G. B. de Queiroz , Anjolina G. de Oliveira

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

A class of models is presented, in the form of continuation monads polymorphic for first-order individuals, that is sound and complete for minimal intuitionistic predicate logic. The proofs of soundness and completeness are constructive and…

Logic · Mathematics 2014-11-04 Danko Ilik

Emerging network scenarios require the development of solid large-scale situated systems. Unfortunately, the diffusion/aggregation computational processes therein often introduce a source of complexity that hampers predictability of the…

Logic in Computer Science · Computer Science 2017-01-11 Ferruccio Damiani , Mirko Viroli

Reasoning modulo equivalences is natural for everyone, including mathematicians. Unfortunately, in proof assistants based on type theory, equality is appallingly syntactic and, as a result, exploiting equivalences is cumbersome at best.…

Programming Languages · Computer Science 2020-10-16 Nicolas Tabareau , Éric Tanter , Matthieu Sozeau