English
Related papers

Related papers: Have Object-Oriented Languages Missed a Trick with…

200 papers

In machine learning (ML), researchers and engineers seem to be at odds. System implementers would prefer models to be declarative, with detailed type information and semantic restrictions that allow models to be optimised, rearranged and…

Programming Languages · Computer Science 2022-06-23 Michael Innes

In game semantics and related approaches to programming language semantics, programs are modelled by interaction dialogues. Such models have recently been used in the design of new compilation methods, e.g. for hardware synthesis or for…

Logic in Computer Science · Computer Science 2015-07-01 Ulrich Schöpp

We present the design of a new functional programming language, MLTS, that uses the lambda-tree syntax approach to encoding bindings appearing within data structures. In this approach, bindings never become free nor escape their scope:…

Programming Languages · Computer Science 2019-08-13 Ulysse Gérard , Dale Miller , Gabriel Scherer

In this paper, we study classes of structures and individual structures for which programs implementing functions defined everywhere are equivalent to finite tree-programs. The programs under consideration may have cycles and at most…

Logic in Computer Science · Computer Science 2025-01-06 Mikhail Moshkov

The problems in our teaching on object-oriented programming are analyzed, and the basic ideas, causes and methods of the reform are discussed on the curriculum, theoretical teaching and practical classes. Our practice shows that these…

Computers and Society · Computer Science 2025-02-10 Guowu Yuan , Bing Kong , Haiyan Ding , Jixian Zhang , Yang Zhao

First-order model counting (FOMC) is the problem of counting the number of models of a sentence in first-order logic. Since lifted inference techniques rely on reductions to variants of FOMC, the design of scalable methods for FOMC has…

Logic in Computer Science · Computer Science 2025-06-11 Ananth K. Kidambi , Guramrit Singh , Paulius Dilkas , Kuldeep S. Meel

We propose a general framework for first-order functional logic programming, supporting lazy functions, non-determinism and polymorphic datatypes whose data constructors obey a set C of equational axioms. On top of a given C, we specify a…

Programming Languages · Computer Science 2007-05-23 Puri Arenas-Sanchez , Mario Rodriguez-Artalejo

Expanding upon recent work, a new class of $A$-functions is introduced that can be viewed as an appropriate generalization of the class of regular $A$-functions, the class of structured $A$-functions, and the class of perfect $A$-functions.…

Number Theory · Mathematics 2022-03-01 Joseph Burnett , Alex Taylor

Functional Programming has seen a resurgence in interest in the last few years and is often mentioned in opposition to Object-Orientated Programming. However, Object-Orientated Programming can actually absorb some of the lessons of…

Programming Languages · Computer Science 2021-04-02 Seamus Brady

The existing call-by-need lambda calculi describe lazy evaluation via equational logics. A programmer can use these logics to safely ascertain whether one term is behaviorally equivalent to another or to determine the value of a lazy…

Programming Languages · Computer Science 2012-01-19 Stephen Chang , Matthias Felleisen

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

Logic can be made useful for programming and for databases independently of logic programming. To be useful in this way, logic has to provide a mechanism for the definition of new functions and new relations on the basis of those given in…

Logic in Computer Science · Computer Science 2014-12-30 M. H. van Emden

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

The extensive deployment of probabilistic algorithms has radically changed our perspective on several well-established computational notions. Correctness is probably the most basic one. While a typical probabilistic program cannot be said…

Logic in Computer Science · Computer Science 2025-02-17 Francesco A. Genco , Giuseppe Primiero

An introductory formal languages course exposes advanced undergraduate and early graduate students to automata theory, grammars, constructive proofs, computability, and decidability. Programming students find these topics to be challenging…

Formal Languages and Automata Theory · Computer Science 2014-12-17 Marco T. Morazán , Rosario Antunez

We study program refactoring while considering the language or even the programming paradigm as a parameter. We use typed functional programs, namely Haskell programs, as the specification medium for a corresponding refactoring framework.…

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

Indexed languages are a classical notion in formal language theory, which has attracted attention in recent decades due to its role in higher-order model checking: They are precisely the languages accepted by order-2 pushdown automata. The…

Formal Languages and Automata Theory · Computer Science 2026-05-28 Richard Mandel , Corto Mascle , Georg Zetzsche

Proof assistants and programming languages based on type theories usually come in two flavours: one is based on the standard natural deduction presentation of type theory and involves eliminators, while the other provides a syntax in…

Logic in Computer Science · Computer Science 2015-07-30 Nicolas Guenot , Daniel Gustafsson

Many functional logic languages are based on narrowing, a unification-based goal-solving mechanism which subsumes the reduction mechanism of functional languages and the resolution principle of logic languages. Needed narrowing is an…

Programming Languages · Computer Science 2007-05-23 Maria Alpuente , Michael Hanus , Salvador Lucas , German Vidal

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