posted on 2022-08-29, 05:02authored byM Holzl, J N Crossley
We introduce two forms of calculi that integrate constraint solving with functional programming. These are the Unrestricted, and the Restricted, Constraint-Lambda Calculi. Unlike previous attempts at combining constraint solving with lambda calculus, these are conservative extensions of traditional lambda calculi in terms of both term reduction and their denotational semantics. We establish a limited form of confluence for the unrestricted calculus and full confluence for the restricted one.