English
Related papers

Related papers: Compiling With Classical Connectives

200 papers

In recent years we have explored using Haskell alongside a traditional mathematical formalism in our large-enrolment university course on topics including logic and formal languages, aiming to offer our students a programming perspective on…

Computers and Society · Computer Science 2022-08-10 Matthew Farrugia-Roberts , Bryn Jeffries , Harald Søndergaard

This document contains a description of a Common Lisp extension that allows a programmer to write functional programs that use "normal order" evaluation, as in "non-strict" languages like Haskell. The extension is relatively…

Programming Languages · Computer Science 2014-12-04 Marco Antoniotti

Language model-based code completion models have quickly grown in use, helping thousands of developers write code in many different programming languages. However, research on code completion models typically focuses on imperative languages…

Computation and Language · Computer Science 2024-03-25 Tim van Dam , Frank van der Heijden , Philippe de Bekker , Berend Nieuwschepen , Marc Otten , Maliheh Izadi

In the same sense as classical logic is a formal theory of truth, the recently initiated approach called computability logic is a formal theory of computability. It understands (interactive) computational problems as games played by a…

Logic in Computer Science · Computer Science 2011-04-15 Giorgi Japaridze

Using the programming language Haskell, we introduce an implementation of propositional calculus, number theory, and a simple imperative language that can evaluate arithmetic and boolean expressions. Finally, we provide an implementation of…

Programming Languages · Computer Science 2021-12-28 Boro Sitnikovski

Applicative bisimulation is a coinductive technique to check program equivalence in higher-order functional languages. It is known to be sound, and sometimes complete, with respect to context equivalence. In this paper we show that…

Logic in Computer Science · Computer Science 2015-06-23 Ugo Dal Lago , Alessandro Rioli

Program code contains functions, variables, and data structures that are represented by names. To promote human understanding, these names should describe the role and use of the code elements they represent. But the names given by…

Software Engineering · Computer Science 2022-09-08 Moshe Munk , Dror G. Feitelson

Logic programming is a flexible programming paradigm due to the use of predicates without a fixed data flow. To extend logic languages with the compact notation of functional programming, there are various proposals to map evaluable…

Programming Languages · Computer Science 2022-05-17 Michael Hanus

Large language models have demonstrated great potential to assist programmers in generating code. For such human-AI pair programming scenarios, we empirically demonstrate that while generated code is most often evaluated in terms of their…

Software Engineering · Computer Science 2023-06-14 Victor Dibia , Adam Fourney , Gagan Bansal , Forough Poursabzi-Sangdeh , Han Liu , Saleema Amershi

Quantum computations operate in the quantum world. For their results to be useful in any way, there is an intrinsic necessity of cooperation and communication controlled by the classical world. As a consequence, full formal descriptions of…

Quantum Physics · Physics 2007-05-23 Philippe Jorrand , Marie Lalire

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

Since the advent of LISP, the fifth generation programming language has developed for decades. However, compared with the fourth generation programming language, the fifth generation programming language has not been widely used because of…

Programming Languages · Computer Science 2022-06-03 Han Jipeng , Lichen Zhihang

This paper shows equivalence of several versions of applicative similarity and contextual approximation, and hence also of applicative bisimilarity and contextual equivalence, in LR, the deterministic call-by-need lambda calculus with…

Logic in Computer Science · Computer Science 2019-03-14 Manfred Schmidt-Schauß , David Sabel , Elena Machkasova

We define a variant of realizability where realizers are pairs of a term and a substitution. This variant allows us to prove the normalization of a simply-typed call-by-need $$\lambda$-$calculus with control due to Ariola et al. Indeed, in…

Logic in Computer Science · Computer Science 2018-03-05 Étienne Miquey , Hugo Herbelin

The functional programming paradigm has a long and storied history, with its beginnings in the Lambda Calculus. In recent decades, pure functional languages such as Haskell have been shown to be highly effective in producing robust software…

Computers and Society · Computer Science 2025-12-04 Rajshekhar Sunderraman

In this vision paper, we explore the challenges and opportunities of a form of computation that employs an empirical (rather than a formal) approach, where the solution of a computational problem is returned as empirically most likely…

Software Engineering · Computer Science 2025-03-17 Eric Tang , Marcel Böhme

Classical primal-dual affine programming takes place over finite dimensional real vector spaces. This results in beautiful duality theory, connecting the optimal solu- tions of the primal maximization problem and the dual minimization…

Optimization and Control · Mathematics 2015-04-13 Tien Chih

Computability logic is a formal theory of computational tasks and resources. Its formulas represent interactive computational problems, logical operators stand for operations on computational problems, and validity of a formula is…

Logic in Computer Science · Computer Science 2011-04-15 Giorgi Japaridze

We give communication-based semantics and reasoning techniques for Polarized SILL, a rich session-typed programming language with general recursion. Its features include channel and code transmission, synchronous and asynchronous…

Programming Languages · Computer Science 2021-11-03 Ryan Kavanagh

How can one recognize coordination languages and technologies? As this report shows, the common approach that contrasts coordination with computation is intellectually unsound: depending on the selected understanding of the word…

Programming Languages · Computer Science 2013-07-19 Raphael 'kena' Poss