Kill-Safe Synchronization Abstractions

by Matthew Flatt and Robert Bruce Findler
Appears in Programming Language Design and Implementation (PLDI) 2004

Paper: pldi04-ff.pdf
 
Code and tests:  pldi04-ff.tar.gz  Includes all .ss files listed below
 
Code: code7.ss Figure 7, kill-safe buffered queue
  code9.ss Figure 9, selective dequeue  
  code10.ss Figure 10, allow untrusted predicates
  code11.ss Figure 11, break-safe swap channel
  code12.ss Figure 12, kill-safe swap channel
 
Tests: test.ss Test-support module
  q-tests.ss Message-queue tests (Figure 7)
  msg-q-tests.ss Message-queue tests (Figures 9 and 10)
 
To execute:
  1. Download the above module files (in pldi04-ff.tar.gz or individually)
  2. Install DrScheme, version 206p1.
  3. Choose the (module ...) language in DrScheme
  4. Open a module (e.g., msg-q-tests.ss)
  5. Click Execute