\section{Conclusion}

We have introduced a way of programming the processing of access
and update transactions in a multiprocessor computer system
such that overlapped execution of multiple transactions is
achieved and yet program modules for the transaction operations
are written in the pure functional style. This is accomplished
through the use of I-structures and the addition of a {\tt SWAP}
operation to the memory system of an abstract computer for
executing pure functional programs.

Comparison with published solutions using M-structures shows
that, although the published solutions offer the advantage of
update-in-place in avoiding allocation steps, this is attained
at the cost of departing form the pure functional style in
programming the transaction operations. Programming transactions
for overlapped execution in a conventional shared-memory multiprocessor
appears to require programming techniques that make heavy use
of process coordination commands and will be difficult to
prove correct.

