English
Related papers

Related papers: Functional Programming in Pattern-Match-Oriented P…

200 papers

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

Pattern matching is an important feature of programming languages for data abstraction. Many pattern-matching extensions have been proposed and implemented for extending the range of data types to which pattern matching is applicable. Among…

Programming Languages · Computer Science 2019-11-13 Satoshi Egi

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

Design patterns are elegant and well-tested solutions to recurrent software development problems. They are the result of software developers dealing with problems that frequently occur, solving them in the same or a slightly adapted way. A…

Software Engineering · Computer Science 2019-03-25 Hannes Thaller , Lukas Linsbauer , Alexander Egyed

User defined recursive types are a fundamental feature of modern functional programming languages like Haskell, Clean, and the ML family of languages. Properties of programs defined by recursion on the structure of recursive types are…

Programming Languages · Computer Science 2013-12-11 James Caldwell

Recursive calls over recursive data are useful for generating probability distributions, and probabilistic programming allows computations over these distributions to be expressed in a modular and intuitive way. Exact inference is also…

Programming Languages · Computer Science 2023-03-28 David Chiang , Colin McDonald , Chung-chieh Shan

Pattern-matching programming is an example of a rule-based programming style developed in functional languages. This programming style is intensively used in dialects of ML but is restricted to algebraic data-types. This restriction limits…

Programming Languages · Computer Science 2009-12-25 Julien Cohen

Pattern matching is a powerful tool for symbolic computations. Applications include term rewriting systems, as well as the manipulation of symbolic expressions, abstract syntax trees, and XML and JSON data. It also allows for an intuitive…

Programming Languages · Computer Science 2017-10-09 Manuel Krebber , Henrik Barthels , Paolo Bientinesi

We present a method for synthesizing recursive functions that provably satisfy a given specification in the form of a polymorphic refinement type. We observe that such specifications are particularly suitable for program synthesis for two…

Programming Languages · Computer Science 2016-04-22 Nadia Polikarpova , Ivan Kuraj , Armando Solar-Lezama

Pattern matching is a powerful tool for symbolic computations, based on the well-defined theory of term rewriting systems. Application domains include algebraic expressions, abstract syntax trees, and XML and JSON data. Unfortunately, no…

Programming Languages · Computer Science 2017-10-20 Manuel Krebber , Henrik Barthels , Paolo Bientinesi

Natural language processing for programming aims to use NLP techniques to assist programming. It is increasingly prevalent for its effectiveness in improving productivity. Distinct from natural language, a programming language is highly…

Computation and Language · Computer Science 2023-08-08 Qingfu Zhu , Xianzhen Luo , Fang Liu , Cuiyun Gao , Wanxiang Che

A circular program contains a data structure whose definition is self-referential or recursive. The use of such a definition allows efficient functional programs to be written and can avoid repeated evaluations and the creation of…

Data Structures and Algorithms · Computer Science 2022-06-28 Lloyd Allison

This paper proposes a pattern-matching system that enables non-linear pattern-matching against unfree data types. The system allows multiple occurrences of the same variables in a pattern, multiple results of pattern-matching and…

Programming Languages · Computer Science 2014-10-20 Satoshi Egi

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 circular program creates a data structure whose computation depends upon itself or refers to itself. The technique is used to implement the classic data structures circular and doubly-linked lists, threaded trees and queues, in a…

Programming Languages · Computer Science 2024-03-05 Lloyd Allison

This paper explores how design patterns could be revisited in the era of mainstream functional programming languages. I discuss the kinds of knowledge that ought to be represented as functional design patterns: architectural concepts that…

Programming Languages · Computer Science 2023-07-17 Will Crichton

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

In this research summary we present our recent work on implementing functional patterns with inverse functions in the lazy functional-logic programming language Curry. Our goal is the synthesis of the inverse of any given function in Curry…

Programming Languages · Computer Science 2020-09-23 Finn Teegen

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

Object-oriented programs tend to be written using many common coding idioms, such as those captured by design patterns. While design patterns are useful, implementing them is often tedious and repetitive, requiring boilerplate code that…

Programming Languages · Computer Science 2026-02-20 Jasper Geer , Fox Huston , Jeffrey S. Foster
‹ Prev 1 2 3 10 Next ›