Jacques Garrigue
Constraint Debugging curry declarative arithmetic delimited continuation dependent types expressivity functional programming logic logic programming logical relations meta-programming nondeterminism parallel programming programming