ICFP 2023
Mon 4 - Sat 9 September 2023 Seattle, Washington, United States
Mon 4 Sep 2023 14:30 - 15:00 at Vashon - HOPE: Session 3 Chair(s): Daniel Hillerström

Granite is a strict and untyped programming language under development with the goal of enhancing functional programming along a number of axes. It aims to provide a basis for general-purpose programming that is:

  1. Parallelizable: Programs naturally incorporate deterministic parallelism in a manner remniscent of LVars.
  2. Expressive: Programmers have access to both the rich data structures common in functional programming as well as cyclic data types via functional logic programming in the style of Datafun.
  3. Compositional: It is easy to extend (mutually) recursive functions to support new cases using open recursion and a construct similar to the merge operator of Dunfield.

Perhaps surprisingly, these three aspects of language design are closely related: Granite’s design is emerging from the observation that at the heart of each of the above-mentioned lines of work lies a join-semilattice. Granite makes semilattice structure a first-class language feature. We describe several examples of this and discuss challenges that arise implementing the language.

Mon 4 Sep

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

14:00 - 15:30
HOPE: Session 3HOPE at Vashon
Chair(s): Daniel Hillerström Huawei Zurich Research Center
Continuations and Coexponentials
Vikraman Choudhury University of Glasgow
Granite: Compositional Functional Logic Programming
Nick Rioux University of Pennsylvania, Steve Zdancewic University of Pennsylvania
Semantic foundations of potential-synthesis for expected amortised-cost analysis
Ohad Kammar University of Edinburgh, Georg Moser University of Innsbruck