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

Author

Jean-Philippe Bernardy

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Dan Rosén

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Nicholas Smallbone

Chalmers, Computer Science and Engineering (Chalmers), Software Technology (Chalmers)

Areas of Advance

Information and Communication Technology

Roots

Basic sciences

Subject Categories

Computer Science

More information

Created

10/7/2017