Instruct: Identify the main and secondary category of Arxiv papers based on the titles and abstracts
Query: Continuation-Passing C: compiling threads to events through
  continuations   In this paper, we introduce Continuation Passing C (CPC), a programming
language for concurrent systems in which native and cooperative threads are
unified and presented to the programmer as a single abstraction. The CPC
compiler uses a compilation technique, based on the CPS transform, that yields
efficient code and an extremely lightweight representation for contexts. We
provide a proof of the correctness of our compilation scheme. We show in
particular that lambda-lifting, a common compilation technique for functional
languages, is also correct in an imperative language like C, under some
conditions enforced by the CPC compiler. The current CPC compiler is mature
enough to write substantial programs such as Hekate, a highly concurrent
BitTorrent seeder. Our benchmark results show that CPC is as efficient, while
using significantly less space, as the most efficient thread libraries
available.

29
The categories of this paper are: funct-an
31
The categories of this paper are: ao-sci
23
The categories of this paper are: solv-int
17
The categories of this paper are: q-fin
27
The categories of this paper are: comp-gas
10
The categories of this paper are: q-bio
28
The categories of this paper are: alg-geom
20
The categories of this paper are: acc-phys
7
The categories of this paper are: hep-th
22
The categories of this paper are: chao-dyn
34
The categories of this paper are: chem-ph
37
The categories of this paper are: supr-con
14
The categories of this paper are: math-ph
30
The categories of this paper are: q-alg
15
The categories of this paper are: nucl-ex
18
The categories of this paper are: econ