English
Related papers

Related papers: Structural Subtyping as Parametric Polymorphism

200 papers

In this article the function overloading in object-oriented programming is elaborated and how they are implemented in C++. The language supports a variety of programming styles. Here we are describing the polymorphism and its types in…

Programming Languages · Computer Science 2013-12-02 Dr. Brijender Kahanwal , Dr. T. P. Singh

In addition to pre- and postconditions, program specifications in recent separation logics for concurrency have employed an algebraic structure of resources---a form of state transition system---to describe the state-based program…

Programming Languages · Computer Science 2019-10-16 Aleksandar Nanevski , Anindya Banerjee , Germán Andrés Delbianco , Ignacio Fábregas

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

In programming, better tools often yield better results. For that, modern programming environments offer mechanisms to allow for their extensibility. The closer those tools are to the code, the easier it is for programmers to map the…

Programming Languages · Computer Science 2026-03-09 Tom Beckmann , Christoph Thiede , Jens Lincke , Robert Hirschfeld

We investigate the expressive power of spreadsheets. We consider spreadsheets which contain only formulas, and assume that they are small templates, which can be filled to a larger area of the grid to process input data of variable size.…

Programming Languages · Computer Science 2013-07-30 Jerzy Tyszkiewicz

This thesis investigates how the sub-structure of words can be accounted for in probabilistic models of language. Such models play an important role in natural language processing tasks such as translation or speech recognition, but often…

Computation and Language · Computer Science 2015-08-19 Jan A. Botha

Parametricity is a property of the syntax of type theory implying, e.g., that there is only one function having the type of the polymorphic identity function. Parametricity is usually proven externally, and does not hold internally.…

Logic in Computer Science · Computer Science 2023-11-17 Thorsten Altenkirch , Yorgo Chamoun , Ambrus Kaposi , Michael Shulman

In previous work, we have introduced functional strategies, that is, first-class generic functions that can traverse into terms of any type while mixing uniform and type-specific behaviour. In the present paper, we give a detailed…

Programming Languages · Computer Science 2007-05-23 Ralf Laemmel

Recent approaches to verifying programs in separation logics for concurrency have used state transition systems (STSs) to specify the atomic operations of programs. A key challenge in the setting has been to compose such STSs into larger…

Programming Languages · Computer Science 2017-09-25 Aleksandar Nanevski , Anindya Banerjee , Germán Andrés Delbianco

Fonts are ubiquitous across documents and come in a variety of styles. They are either represented in a native vector format or rasterized to produce fixed resolution images. In the first case, the non-standard representation prevents…

Computer Vision and Pattern Recognition · Computer Science 2022-01-11 Pradyumna Reddy , Zhifei Zhang , Matthew Fisher , Hailin Jin , Zhaowen Wang , Niloy J. Mitra

System F, the polymorphic lambda calculus, features the principle of impredicativity: polymorphic types may be (explicitly) instantiated at other types, enabling many powerful idioms such as Church encoding and data abstraction.…

Programming Languages · Computer Science 2022-03-04 Henry Mercer , Cameron Ramsay , Neel Krishnaswami

Type qualifiers offer a lightweight mechanism for enriching existing type systems to enforce additional, desirable, program invariants. They do so by offering a restricted but effective form of subtyping. While the theory of type qualifiers…

Programming Languages · Computer Science 2024-02-27 Edward Lee , Yaoyu Zhao , James You , Kavin Satheeskumar , Ondřej Lhoták , Jonathan Brachthäuser

To design type systems that use subtyping, we have to make tradeoffs. Deep subtyping is more expressive than shallow subtyping, because deep subtyping compares the entire structure of types. However, shallow subtyping is easier to reason…

Programming Languages · Computer Science 2024-12-30 Jana Dunfield

MLsub is a minimal language with a type system combining subtyping and parametric polymorphism and a type inference algorithm which infers compact principal types. Simple-sub is an alternative inference algorithm which can be implemented…

Programming Languages · Computer Science 2024-07-10 Rodrigo Marques , Mário Florido , Pedro Vasconcelos

This paper presents preliminary work on a general system for integrating dependent types into substructural type systems such as linear logic and linear type theory. Prior work on this front has generally managed to deliver type systems…

Logic in Computer Science · Computer Science 2024-01-30 C. B. Aberlé

Structure editors operate directly on a program's syntactic tree structure. At first glance, this allows for the exciting possibility that such an editor could enforce correctness properties: programs could be well-formed and sometimes even…

Programming Languages · Computer Science 2024-11-27 Jacob Prinz , Henry Blanchette , Leonidas Lampropoulos

Isomorphisms allow human cognition to transcribe a potentially unsolvable problem from one domain to a different domain where the problem might be more easily addressed. Current approaches only focus on transcribing structural information…

Computation and Language · Computer Science 2021-05-14 Andrew Broekman , Linda Marshall

The question of what kinds of linguistic information are encoded in different layers of Transformer-based language models is of considerable interest for the NLP community. Existing work, however, has overwhelmingly focused on word-level…

Computation and Language · Computer Science 2023-10-19 Dmitry Nikolaev , Sebastian Padó

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

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
‹ Prev 1 3 4 5 6 7 10 Next ›