Write a Blog >>
POPL 2021
Sun 17 - Fri 22 January 2021 Online
Mon 18 Jan 2021 14:30 - 15:30 at PADL - Keynote 1 Chair(s): Dominic Orchard

miniKanren is a domain-specific language for relational programming, in which programs are modeled as mathematical relations; these relations make no distinction between inputs and outputs. miniKanren can be thought of as a purely declarative constraint logic programming language, implemented as a combination of search and constraint solving. An appealing aspect of relational programming is that operational semantics, typing judgments, rewriting rules, and other formal semantics are commonly written as relations; these semantics can often be expressed directly in miniKanren, with a minimum of translation. Once these semantics are encoded as miniKanren relations, miniKanren’s search and constraint solving allows these semantics to be used for synthesis. For example, encoding the operational semantics for a subset of Scheme in miniKanren allows us to synthesize recursive Scheme programs. In this talk I’ll demonstrate how to encode several types of semantics in miniKanren, and show how programs and expressions can be synthesized from these executable semantics.

Mon 18 Jan

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

14:30 - 15:30
Keynote 1PADL at PADL
Chair(s): Dominic Orchard University of Kent, UK
Semantics-based Synthesis in miniKanren
William E. Byrd University of Alabama at Birmingham, USA