Using Circular Programs for Higher-Order Syntax Functional pearl
Artikel i vetenskaplig tidskrift, 2013

This pearl presents a novel technique for constructing a first-order syntax tree directly from a higher-order interface. We exploit circular programming to generate names for new variables, resulting in a simple yet efficient method. Our motivating application is the design of embedded languages supporting variable binding, where it is convenient to use higher-order syntax when constructing programs, but first-order syntax when processing or transforming programs.

embedded languages

circular programming

higher-order syntax


Emil Axelsson

Chalmers, Data- och informationsteknik, Programvaruteknik

Koen Lindström Claessen

Chalmers, Data- och informationsteknik, Programvaruteknik

SIGPLAN Notices (ACM Special Interest Group on Programming Languages)

0362-1340 (ISSN)

Vol. 48 9 257-262


Informations- och kommunikationsteknik


Data- och informationsvetenskap