We present a translation from the call-by-value λ-calculus to monadic normal forms that includes short-cut boolean evaluation. The translation is higher-order, operates in one pas...
Monads are widely used in Haskell for modeling computational effects, but defining monads remains a daunting challenge. Since every part of a monad's definition depends on it...
Relations in partitioned normal form are an important subclass of nested relations. This paper is concerned with the problem of restructuring relations in partitioned normal form ...
Most well-known algorithms for equational solving are based on quantifier elimination. This technique iteratively eliminates the innermost block of existential/universal quantifie...
We show how a set of building blocks can be used to construct programming language interpreters, and present implementations of such building blocks capable of supporting many com...