Witnessing side effects

Tachio Terauchi*, Alex Aiken

*Corresponding author for this work

Research output: Contribution to journalArticlepeer-review

6 Citations (Scopus)


We present a new approach to the old problem of adding global mutable state to purely functional languages. Our idea is to extend the language with "witnesses," which is based on an arguably more pragmatic motivation than past approaches. We give a semantic condition for correctness and prove it is sufficient. We also give a somewhat surprising static checking algorithm that makes use of a network flow property equivalent to the semantic condition via reduction to a satisfaction problem for a system of linear inequalities.

Original languageEnglish
Article number15
JournalACM Transactions on Programming Languages and Systems
Issue number3
Publication statusPublished - 2008 May 1
Externally publishedYes


  • Mutable state
  • Side effects

ASJC Scopus subject areas

  • Software


Dive into the research topics of 'Witnessing side effects'. Together they form a unique fingerprint.

Cite this