Compiling Linear Logic using Continuations
Preprint, 2014

As System F is the logical foundation of functional programming, it has long been expected that Classical Linear Logic (CLL) is the logical foundation of concurrent programming. In particular, thanks to an involutive negation, its language of propositions correspond to protocols. This means that CLL provides the principles to integrate concurrency into functional programming languages. Aiming towards this integration, we translate the concurrency features of CLL into continuations, essentially via a negation-model of CLL into System F. Practically, the translation can be used to embed CLL programs into functional languages such as Haskell. We explain the properties of the interface between the two languages. In particular, using an example, we illustrate how the par (⅋) operator can solve practical functional programming problems.

Concurrency

System F

CPS

Classical Linear Logic

Författare

Jean-Philippe Bernardy

Chalmers, Data- och informationsteknik, Programvaruteknik

Dan Rosén

Chalmers, Data- och informationsteknik, Programvaruteknik

Nicholas Smallbone

Chalmers, Data- och informationsteknik, Programvaruteknik

Styrkeområden

Informations- och kommunikationsteknik

Fundament

Grundläggande vetenskaper

Ämneskategorier

Datavetenskap (datalogi)