ICFP 2023
Mon 4 - Sat 9 September 2023 Seattle, Washington, United States
Mon 4 Sep 2023 12:00 - 12:15 at Grand Crescent - HIW: Session 1 Chair(s): Li-yao Xia

Iteration is particularly effective at describing algorithms over lists while recursion is effective for trees, but how does one describe algorithms involving cyclic dependencies such as liveness analysis or automata minimization? The traditional way is to describe these as the fixed point of some set of rules, and then to write a worklist or workqueue algorithm to implement that fixed point. However, manually implementing fixed points can be difficult, tedious, and brittle.

In this talk, we present a tool that eliminates this tedium. The tool is a code generation framework that uses high-level specifications to generate workqueue algorithms in a process similar to how one uses a parser generator. This allows one to focus on the high-level description of the algorithm without worrying about the details of the worklist algorithm and its auxiliary data structures, just as parser generators allow one to focus on the syntax of one’s language rather than the details of LR parse-table construction. In addition, the tool can provide algorithm-level optimizations that would be difficult to implement manually.

Our tool is still in the early stages of development, so we present it not only to share our approach but also to gather feedback, seek collaboration, and explore potential use cases.

Mon 4 Sep

Displayed time zone: Pacific Time (US & Canada) change