Blogs (27) >>
ICFP 2017
Sun 3 - Sat 9 September 2017 Oxford, United Kingdom
Sat 9 Sep 2017 14:00 - 14:25 at L1 - Working in Core Chair(s): Adam Gundry

We’ve been working on a sibling to GHC core with support for linear logic. Our work began with the need to model ownership of physical resources, while also ensuring that the induced calculus has a clean compilation story for good performance. We decided to borrow good ideas in GHC core, our work has been concurrent with and complementary to the recent line of work around join points and sequent calculus, which naturally extend to linear logic

In addition to modeling our problem domain well, linear logic can clarify many ideas ghc already has, but in a uniform way. It provides a natural description of one-shot thunks and internalizes certain fundamental concurrency/parallelism constructs while ensuring resource isolation. We can perhaps provide clearer foundations for how IO and ST style state tokens are reasoned about. Equipping function spaces with explicit unboxed tuples (as telescopes) for both domain and codomain increases the expressivity of core. Finally, as GHC adds more dependently typed features, a sound notion of irrelevance is an important tool for optimization by proof erasure and arises naturally in this work.

We will present the problems which lead to this line of work, our formalization in Agda, possibly a working prototype, and future work.

Work in progress on formalizing this effort can be found at

Sat 9 Sep

14:00 - 15:00: HIW 2017 - Working in Core at L1
Chair(s): Adam Gundry
hiw-2017150495840000014:00 - 14:25
hiw-2017150495990000014:25 - 14:50
hiw-2017150496140000014:50 - 15:00