resources in the outside world. Sometimes, an update action only updates a part
of the resource. When this happens, all waiting \glspl{Task} looking at the
resource are notified of the update. However, it may be the case that
-\glspl{Task} where only looking at parts of the structure that was not updated.
+\glspl{Task} were only looking at parts of the structure that was not updated.
To solve this problem, parametric lenses were
introduced~\cite{domoszlai_parametric_2014}.
Parametric lenses add a type variable to the \gls{SDS} that is in the current
-library functions fixed to \CI{()}. When a \gls{SDS} executes a write
-operation it also provides the system with a notification predicate. This
-notification predicate is a function \CI{p -> Bool} where \CI{p} is the
-parametric lens type. This allows programmers to create a big share, and have
-\glspl{Task} only look at parts of the big share. This technique is used in the
-current system in memory shares. The \CI{IWorld} contains a map that is
-accessible through an \gls{SDS}. While all data is stored in the map, only
-\glspl{Task} looking at a specific entry are notified when the structure is
-updated. The type of the parametric lens is the key in the map.
+library functions fixed to the void type (i.e. \CI{()}). When a \gls{SDS}
+executes a write operation, it also provides the system with a notification
+predicate. This notification predicate is a function \CI{p -> Bool} where
+\CI{p} is the parametric lens type. This allows programmers to create a big
+share, and have \glspl{Task} only look at parts of the big share. This
+technique is used in the current system in memory shares. The \CI{IWorld}
+contains a map that is accessible through an \gls{SDS}. While all data is
+stored in the map, only \glspl{Task} looking at a specific entry are notified
+when the structure is updated. The type of the parametric lens is the key in
+the map.
Functionality for setting parameters is added in the system. The most important
function is the \CI{sdsFocus} function. This function is listed in
Listing~\ref{lst:focus} and allows the programmer to fix the parametric lens to
-a value.
+a specific value.
\begin{lstlisting}[label={lst:focus},
caption={Parametric lens functions}]