English
Related papers

Related papers: Towards a Java Subtyping Operad

200 papers

We develop a formal perspective on how regular expression matching works in Java, a popular representative of the category of regex-directed matching engines. In particular, we define an automata model which captures all the aspects needed…

Formal Languages and Automata Theory · Computer Science 2014-05-23 Martin Berglund , Frank Drewes , Brink van der Merwe

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

This paper addresses compositional and incremental type checking for object-oriented programming languages. Recent work achieved incremental type checking for structurally typed functional languages through co-contextual typing rules, a…

Programming Languages · Computer Science 2018-05-24 Edlira Kuci , Sebastian Erdweg , Oliver Bračevac , Andi Bejleri , Mira Mezini

Context-oriented programming (COP) is a new technique for programming that allows changing the context in which commands execute as a program executes. Compared to object-oriented programming (aspect-oriented programming), COP is more…

Programming Languages · Computer Science 2014-02-25 Mohamed A. El-Zawawy , Eisa A. Aleisa

Subtyping is a crucial ingredient of session type theory and its applications, notably to programming language implementations. In this paper, we study effective ways to check whether a session type is a subtype of another by applying a…

Logic in Computer Science · Computer Science 2015-10-26 Julien Lange , Nobuko Yoshida

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

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

Exchanging mutable data objects with untrusted code is a delicate matter because of the risk of creating a data space that is accessible by an attacker. Consequently, secure programming guidelines for Java stress the importance of using…

Programming Languages · Computer Science 2015-07-01 Thomas Jensen , Florent Kirchner , David Pichardie

In this paper, we use the language of operads to study open dynamical systems. More specifically, we study the algebraic nature of assembling complex dynamical systems from an interconnection of simpler ones. The syntactic architecture of…

Category Theory · Mathematics 2015-10-05 Dmitry Vagner , David I. Spivak , Eugene Lerman

We define a family of multigraded operads $O_\lambda$ depending on a scalar parameter, such that forgetting the multigraduation gives back the pre-Lie operad when the parameter $\lambda$ is equal to one, and the NAP operad governing…

Quantum Algebra · Mathematics 2010-11-22 Abdellatif Saidi

In this paper, we study how object-oriented classes are used across thousands of software packages. We concentrate on "usage diversity'", defined as the different statically observable combinations of methods called on the same object. We…

Software Engineering · Computer Science 2018-07-06 Diego Mendez , Benoit Baudry , Martin Monperrus

We initiate and study the theory of ``real decomposable maps" between real operator systems. Formally, this is new even in the complex case, which hitherto has restricted itself to the case where the systems are complex C*-algebras. We…

Operator Algebras · Mathematics 2026-05-11 David P. Blecher , Christiaan H. Pretorius

Recently we proposed relative observability for supervisory control of discrete-event systems under partial observation. Relative observability is closed under set unions and hence there exists the supremal relatively observable sublanguage…

Systems and Control · Computer Science 2016-09-09 Kai Cai , Renyuan Zhang , W. M. Wonham

An operad describes a category of algebras and a (co)homology theory for these algebras may be formulated using the homological algebra of operads. A morphism of operads $f:\mathcal{O}\rightarrow\mathcal{P}$ describes a functor allowing a…

Rings and Algebras · Mathematics 2014-03-20 James Griffin

Decisions on which classes to refactor are fraught with difficulty. The problem of identifying candidate classes becomes acute when confronted with large systems comprising hundreds or thousands of classes. In this paper, we describe a…

Software Engineering · Computer Science 2007-05-23 Richard Wheeldon , Steve Counsell

Resource-aware type systems statically approximate not only the expected result type of a program, but also the way external resources are used, e.g., how many times the value of a variable is needed. We extend the type system of…

Programming Languages · Computer Science 2023-02-16 Riccardo Bianchini , Francesco Dagnino , Paola Giannini , Elena Zucca

We recall several categories of graphs which are useful for describing homotopy-coherent versions of generalized operads (e.g. cyclic operads, modular operads, properads, and so on), and give new, uniform definitions for their morphisms.…

Category Theory · Mathematics 2025-03-10 Philip Hackney

Recent algorithmic advances in algebraic automata theory drew attention to semigroupoids (semicategories). These are mathematical descriptions of typed computational processes, but they have not been studied systematically in the context of…

Formal Languages and Automata Theory · Computer Science 2025-09-30 Attila Egri-Nagy , Chrystopher L. Nehaniv

Operads were originally defined by May to have right actions of the symmetric groups, but later formulations have also used no groups actions at all or group actions by such families as the braid groups. We call such families action…

Category Theory · Mathematics 2026-03-23 Alexander Corner , Nick Gurski

When scripts in untyped languages grow into large programs, maintaining them becomes difficult. A lack of explicit type annotations in typical scripting languages forces programmers to must (re)discover critical pieces of design information…

Programming Languages · Computer Science 2011-06-15 Sam Tobin-Hochstadt , Matthias Felleisen