Concurrent Programming in Linear Logic

HACL is a novel asynchronous concurrent programming language developed based on linear logic. It provides fruitful mechanisms for concurrent programming including higher-order concurrency and an elegant $\mathrm{M}\mathrm{L}$-style type system. Although HACL provides only a small set of primitive constructs, various constructs for communication and synchronization between processes are definable in terms of primitive asynchronous message passing and higher-order processes. In this paper, we demonstrate the power of HACL by showing several programming examples. For readers who are not familiar with linear logic and concurrent linear logic programming, we also give a brief introduction to the logical background of HACL.