10 citations · 19 across the 6 of their papers we have counts for
6 papers
Proving and Computing: The Infinite Pigeonhole Principle and Countable Choice
Zena M. Ariola, Paul Downen, Hugo Herbelin
Structural recursion is a common technique used by programmers in modern languages and is taught to introductory computer science students. But what about its dual, structural core…
Classical (Co)Recursion: Mechanics
Paul Downen, Zena M. Ariola
Primitive recursion is a mature, well-understood topic in the theory and practice of programming. Yet its dual, primitive corecursion, is underappreciated and still seen as exotic.…
Classical (Co)Recursion: Programming
Paul Downen, Zena M. Ariola
Our aim here is to illustrate how the benefits of structural corecursion can be found in a broader swath of the programming landscape than previously thought. Beginning from a tuto…
Compiling With Classical Connectives
Paul Downen, Zena M. Ariola
The study of polarity in computation has revealed that an "ideal" programming language combines both call-by-value and call-by-name evaluation; the two calling conventions are each…
First Class Call Stacks: Exploring Head Reduction
Philip Johnson-Freyd, Paul Downen, Zena M. Ariola
Weak-head normalization is inconsistent with functional extensionality in the call-by-name -calculus. We explore this problem from a new angle via the conflict between extension…
From Syntactic Theories to Interpreters: A Specification Language and Its Compilation
Yong Xiao, Zena M. Ariola, Michel Mauny
Recent years have seen an increasing need of high-level specification languages and tools generating code from specifications. In this paper, we introduce a specification language,…