Results 11 -
16 of
16
D.P.: From variadic functions to variadic relations: A miniKanren perspective
- University of Chicago
, 2006
"... We present an implementation of miniKanren, an embedding of logic programming in R 5 RS Scheme that comprises three logic operators. We describe these operators, and use them to define plus o, a relation that adds two numbers. We then define plus ∗o, which adds zero or more numbers; plus ∗o takes ex ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
We present an implementation of miniKanren, an embedding of logic programming in R 5 RS Scheme that comprises three logic operators. We describe these operators, and use them to define plus o, a relation that adds two numbers. We then define plus ∗o, which adds zero or more numbers; plus ∗o takes exactly two arguments, the first of which is a list of numbers to be added or a logical variable representing such a list. We call such a relation pseudo-variadic. Combining Scheme’s var-args facility with pseudo-variadic helper relations leads to variadic relations, which take a variable number of arguments. We focus on pseudo-variadic relations, which we demonstrate are more flexible than their variadic equivalents. We show how to define plus ∗o in terms of plus o using foldr o and foldl o, higher-order relational abstractions derived from Haskell’s foldr and foldl functions. These higherorder abstractions demonstrate the benefit of embedding relational operators in a functional language. We define many other pseudo-variadic relations using foldr o and foldl o, consider the limitations of these abstractions, and explore their effect on the divergence behavior of the relations they define. We also consider double-pseudo-variadic relations, a generalization of pseudo-variadic relations that take as their first argument a list of lists or a logical variable representing a list of lists.
Optimizing Generated Aspect-Oriented Assertion Checking Code for JML Using Programming Laws: An Empirical Study
, 2010
"... This is a preprint of a paper that is submitted for publication. ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
This is a preprint of a paper that is submitted for publication.
Algebras for combinatorial search
- In Workshop on Mathematically Structured Functional Programming
, 2006
"... We show how combinatorial search strategies including depth-first, breadth-first and depth-bounded search can be viewed as di#erent implementations of a common algebraic specification that emphasises the compositionality of the strategies. This specification is placed in a categorical setting th ..."
Abstract
- Add to MetaCart
We show how combinatorial search strategies including depth-first, breadth-first and depth-bounded search can be viewed as di#erent implementations of a common algebraic specification that emphasises the compositionality of the strategies. This specification is placed in a categorical setting that combines algebraic specifications and monads.
Under consideration for publication in J. Functional Programming 1 Algebras for combinatorial search
"... Combinatorial search strategies including depth-first, breadth-first and depth-bounded search are shown to be different implementations of a common algebraic specification that emphasises the compositionality of the strategies. This specification is placed in a categorical setting that combines alge ..."
Abstract
- Add to MetaCart
Combinatorial search strategies including depth-first, breadth-first and depth-bounded search are shown to be different implementations of a common algebraic specification that emphasises the compositionality of the strategies. This specification is placed in a categorical setting that combines algebraic specifications and monads. 1
www.cosc.brocku.ca Cylindric algebras and relational databases
, 2009
"... An interpretation of the relational data model and various dependencies is given within the framework of cylindric algebras. It turns out that there is a natural translation of relational databases into cylindric set lattices, and that Codd’s relational operators have a simple interpretation in thes ..."
Abstract
- Add to MetaCart
An interpretation of the relational data model and various dependencies is given within the framework of cylindric algebras. It turns out that there is a natural translation of relational databases into cylindric set lattices, and that Codd’s relational operators have a simple interpretation in these structures. Consequently, various database constraints can be expressed in the equational language, and recent results in equational logic have been able to shed some light on the expressiveness and axiomatizability of these constraints. 1
Unifying Theories of Programming with Monads
"... Abstract. The combination of probabilistic and nondeterministic choice in program calculi is a notoriously tricky problem, and one with a long history. We present a simple functional programming approach to this challenge, based on algebraic theories of computational effects. We make use of the powe ..."
Abstract
- Add to MetaCart
Abstract. The combination of probabilistic and nondeterministic choice in program calculi is a notoriously tricky problem, and one with a long history. We present a simple functional programming approach to this challenge, based on algebraic theories of computational effects. We make use of the powerful abstraction facilities of modern functional languages, to introduce the choice operations as a little embedded domain-specific language rather than having to define a language extension; we rely on referential transparency, to justify straightforward equational reasoning about program behaviour. 1

