TY - GEN
T1 - Focusing on binding and computation
AU - Licata, Daniel R.
AU - Zeilberger, Noam
AU - Harper, Robert
PY - 2008/9/17
Y1 - 2008/9/17
N2 - Variable binding is a prevalent feature of the syntax and proof theory of many logical systems. In this paper, we define a programming language that provides intrinsic support for both representing and computing with binding. This language is extracted as the Curry-Howard interpretation of a focused sequent calculus with two kinds of implication, of opposite polarity. The representational arrow extends systems of definitional reflection with a notion of scoped inference rules, which are used to represent binding. On the other hand, the usual computational arrow classifies recursive functions defined by pattern-matching. Unlike many previous approaches, both kinds of implication are connectives in a single logic, which serves as a rich logical framework capable of representing inference rules that mix binding and computation.
AB - Variable binding is a prevalent feature of the syntax and proof theory of many logical systems. In this paper, we define a programming language that provides intrinsic support for both representing and computing with binding. This language is extracted as the Curry-Howard interpretation of a focused sequent calculus with two kinds of implication, of opposite polarity. The representational arrow extends systems of definitional reflection with a notion of scoped inference rules, which are used to represent binding. On the other hand, the usual computational arrow classifies recursive functions defined by pattern-matching. Unlike many previous approaches, both kinds of implication are connectives in a single logic, which serves as a rich logical framework capable of representing inference rules that mix binding and computation.
UR - https://www.scopus.com/pages/publications/51549090838
U2 - 10.1109/LICS.2008.48
DO - 10.1109/LICS.2008.48
M3 - Conference contribution
AN - SCOPUS:51549090838
SN - 9780769531830
T3 - Proceedings - Symposium on Logic in Computer Science
SP - 241
EP - 252
BT - Proceedings - 23rd Annual IEEE Symposium on Logic in Computer Science, LICS 2008
T2 - 23rd Annual IEEE Symposium on Logic in Computer Science, LICS 2008
Y2 - 24 June 2008 through 27 June 2008
ER -