Continuation-Passing C, compiling threads to events through continuations

Computer Science – Programming Languages

Scientific paper

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

Submitted for publication (journal article)

Scientific paper

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.

No associations

LandOfFree

Say what you really think

Search LandOfFree.com for scientists and scientific papers. Rate them and share your experience with other people.

Rating

Continuation-Passing C, compiling threads to events through continuations does not yet have a rating. At this time, there are no reviews or comments for this scientific paper.

If you have personal experience with Continuation-Passing C, compiling threads to events through continuations, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Continuation-Passing C, compiling threads to events through continuations will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFWR-SCP-O-21684

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.