English
Related papers

Related papers: The Algebra of Patterns (Extended Version)

200 papers

Design patterns are distilled from many real systems to catalog common programming practice. However, some object-oriented design patterns are distorted or overly complicated because of the lack of supporting programming language constructs…

Programming Languages · Computer Science 2019-06-03 Gerald Baumgartner , Konstantin Läufer , Vincent F. Russo

This paper presents matching logic, a first-order logic (FOL) variant for specifying and reasoning about structure by means of patterns and pattern matching. Its sentences, the patterns, are constructed using variables, symbols, connectives…

Logic in Computer Science · Computer Science 2019-03-14 Grigore Rosu

Dependent pattern matching is a key feature in dependently typed programming. However, there is a theory-practice disconnect: while many proof assistants implement pattern matching as primitive, theoretical presentations give semantics to…

Programming Languages · Computer Science 2025-01-31 Joseph Eremondi , Ohad Kammar

Pattern matching is a powerful tool which is part of many functional programming languages as well as computer algebra systems such as Mathematica. Among the existing systems, Mathematica offers the most expressive pattern matching.…

Symbolic Computation · Computer Science 2017-05-03 Manuel Krebber

Patterns are words with terminals and variables. The language of a pattern is the set of words obtained by uniformly substituting all variables with words that contain only terminals. In their original definition, patterns only allow for…

Formal Languages and Automata Theory · Computer Science 2026-03-31 Klaus Jansen , Dirk Nowotka , Lis Pirotton , Corinna Wambsganz , Max Wiedenhöft

The software patterns provide building blocks to the design and implementation of a software system, and try to make the software engineering to progress from experience to science. The software patterns were made famous because of the…

Logic in Computer Science · Computer Science 2021-10-26 Yong Wang

Non-free data types are data types whose data have no canonical forms. For example, multisets are non-free data types because the multiset $\{a,b,b\}$ has two other equivalent but literally different forms $\{b,a,b\}$ and $\{b,b,a\}$.…

Programming Languages · Computer Science 2019-05-28 Satoshi Egi , Yuichi Nishiwaki

Throughout the history of functional programming, recursion has emerged as a natural method for describing loops in programs. However, there does often exist a substantial cognitive distance between the recursive definition and the simplest…

Programming Languages · Computer Science 2020-02-17 Satoshi Egi , Yuichi Nishiwaki

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

Haskell is a popular choice for hosting deeply embedded languages. A recurring challenge for these embeddings is how to seamlessly integrate user defined algebraic data types. In particular, one important, convenient, and expressive feature…

Programming Languages · Computer Science 2022-08-01 Trevor L. McDonell , Joshua D. Meredith , Gabriele Keller

Pattern languages are well-established in the software architecture community. Many different aspects of creating a software architecture are addressed by such languages. Thus, several pattern languages have to be considered when building a…

Software Engineering · Computer Science 2021-04-21 Frank Leymann , Johanna Barzen

This paper presents a programming language which includes paradigms that are usually associated with declarative languages, such as sets, rules and search, into an imperative (functional) language. Although these paradigms are separately…

Programming Languages · Computer Science 2007-05-23 Yves Caseau , Francois-Xavier Josset , Francois Laburthe

Words in some natural languages can have a composite structure. Elements of this structure include the root (that could also be composite), prefixes and suffixes with which various nuances and relations to other words can be expressed.…

Computation and Language · Computer Science 2017-09-05 Rustem Takhanov , Zhenisbek Assylbekov

Verbs are important in semantic understanding of natural language. Traditional verb representations, such as FrameNet, PropBank, VerbNet, focus on verbs' roles. These roles are too coarse to represent verbs' semantics. In this paper, we…

Computation and Language · Computer Science 2017-10-24 Wanyun Cui , Xiyou Zhou , Hangyu Lin , Yanghua Xiao , Haixun Wang , Seung-won Hwang , Wei Wang

Since composed grammars are often ambiguous, grammar composition requires a mechanism for dealing with ambiguity: either ruling it out by using delimiters (which are awkward to work with), or by using disambiguation operators to filter a…

Programming Languages · Computer Science 2020-07-03 Lukas Diekmann , Laurence Tratt

Patterns describe proven solutions for recurring problems. Typically, patterns in a particular domain are interrelated and organized in pattern languages. As real-world problems often require patterns of multiple domains, different pattern…

Software Engineering · Computer Science 2020-03-23 Manuela Weigold , Johanna Barzen , Uwe Breitenbücher , Michael Falkenthal , Frank Leymann , Karoline Wild

Pattern matching is a widely used technique in functional languages, especially those in the ML and Haskell traditions, where it is at the core of the semantics. In languages in the Lisp tradition, in contrast, pattern matching it typically…

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

Patterns embody repeating phenomena, and, as such, they are partly but not fully detachable from their context. 'Design patterns' and 'pattern languages' are established methods for working with patterns. They have been applied in…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-12-09 Raymond Puzio , Paola Ricaurte , Charles Jeffrey Danoff , Charlotte Pierce , Analua Dutka-Chirichetti , Vitor Bruno , Hermano Cintra , Joseph Corneli

Regular expression patterns are a key feature of document processing languages like Perl and XDuce. It is in this context that the first and longest match policies have been proposed to disambiguate the pattern matching process. We formally…

Programming Languages · Computer Science 2007-05-23 Stijn Vansummeren

A quantitative model of concurrent interaction is introduced. The basic objects are linear combinations of partial order relations, acted upon by a group of permutations that represents potential non-determinism in synchronisation. This…

Logic in Computer Science · Computer Science 2011-07-08 Emmanuel Beffara
‹ Prev 1 2 3 10 Next ›