The main strength of purely functional languages like Haskell is that they make reasoning about programs easy with a technique called equational reasoning. This ease of reasoning also extends to effectful programs provided the side-effects are modelled in a purely functional manner, for instance with monads. This paper uses equational reasoning to reason about the modelling of the side-effects themselves. In particular, we consider non-determinism, which is a key side-effect in Prolog and other logic-programming systems. Non-determinism is typically modelled by the list monad, but efficient implementations of Prolog and other non-deterministic systems use a much more low-level approach based on mutable state. In this way we model those lowe...
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refi...
In modern functional logic languages like Curry or Toy, programs are possibly non-confluent and non-...
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refi...
We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deter...
We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deter...
This article aims to propagate Logic Programming as a formal tool to deal with non-monotonic reasoni...
Abstract. Monads are used in functional programming as a means of modeling and encapsulating computa...
Abstract. Bidirectional transformations (bx) support principled consistency maintenance among data s...
This paper explores the use monads to structure functional programs. No prior knowledge of monads or...
. We show that non-determinism simplifies coding certain problems into programs. We define a non-con...
One of the appeals of pure functional programming is that it is so amenable to equational reasoning....
AbstractFundamental properties of deterministic and nondeterministic extensions of Datalog from Abit...
This paper presents equational-based logics for proving first order properties of programming langua...
One of the appeals of pure functional programming is that it is so amenable to equational reasoning....
We model notions of computation using algebraic operations and equations. We show that these genera...
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refi...
In modern functional logic languages like Curry or Toy, programs are possibly non-confluent and non-...
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refi...
We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deter...
We investigate the extension of non-strict functional languages like Haskell or Clean by a non-deter...
This article aims to propagate Logic Programming as a formal tool to deal with non-monotonic reasoni...
Abstract. Monads are used in functional programming as a means of modeling and encapsulating computa...
Abstract. Bidirectional transformations (bx) support principled consistency maintenance among data s...
This paper explores the use monads to structure functional programs. No prior knowledge of monads or...
. We show that non-determinism simplifies coding certain problems into programs. We define a non-con...
One of the appeals of pure functional programming is that it is so amenable to equational reasoning....
AbstractFundamental properties of deterministic and nondeterministic extensions of Datalog from Abit...
This paper presents equational-based logics for proving first order properties of programming langua...
One of the appeals of pure functional programming is that it is so amenable to equational reasoning....
We model notions of computation using algebraic operations and equations. We show that these genera...
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refi...
In modern functional logic languages like Curry or Toy, programs are possibly non-confluent and non-...
The refinement calculus for logic programs consists of a wide-spectrum language and a notion of refi...