Using Circular Programs for Higher-Order Syntax Functional pearl
Journal article, 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

Author

Emil Axelsson

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Koen Lindström Claessen

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

ACM SIGPLAN Notices

1523-2867 (ISSN)

Vol. 48 9 257-262

Areas of Advance

Information and Communication Technology

Subject Categories (SSIF 2011)

Computer and Information Science

DOI

10.1145/2544174.2500614

More information

Latest update

10/27/2025