this is for holding javascript data
Brandon Holt edited Commutativity.md
about 9 years ago
Commit id: 0871b702d86a407b6e8ffc7f0e9daed9aba99104
deletions | additions
diff --git a/Commutativity.md b/Commutativity.md
index 6b40914..ea9a285 100644
--- a/Commutativity.md
+++ b/Commutativity.md
...
## Commutativity Specifications
Though *commutativity* is often discussed in terms of an operation commuting with all other operations, it is actually more nuanced. If a pair of operations commute, then executing them in either order will produce the same result. Using the definitions from \cite{Kulkarni:PLDI11}, whether or not a pair of method invocations commute is a property of the data type and is a function of the methods, their arguments, their return values, and the *abstract* state of their target. We call the full set of commutativity rules for a data type its *commutativity specification.* An example specification for a *set* is shown in Table
\cite{spec}. \cite{tab:spec}.
## Transaction Boosting
If two operations in different transactions commute with each other, it means they could execute in any order,