We present a safe embedding of mutable data structures in functional languages. With safety we mean that confluence and (in some sense) referential transparency are interpretation which checks that any side-effect which a function may exert via a destructive update remains invisible. The technique opens up the possibility of designing safe and efficient wide-spectrum languages which combine functional and imperative language constructs.
SVM HeaderParse 0.1
In Proc. 18th ACM Symp. on Principles of Programming Languages