X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=appx%2Fc4hp.tex;h=c610e92a42d14081aac2b651be27c6c75040b933;hb=9778c30bde0ac05c50b7664aba1f3faad6682ef3;hp=ba0b019f4a8d7e85a85d67eab4fa6483f460e4e1;hpb=529531e1028ae26ab889456d65958794154d5b25;p=phd-thesis.git diff --git a/appx/c4hp.tex b/appx/c4hp.tex index ba0b019..c610e92 100644 --- a/appx/c4hp.tex +++ b/appx/c4hp.tex @@ -43,7 +43,7 @@ In \gls{HASKELL}, in patterns, strictness is enforced using \haskellinline{!}\re Within functions, the strict let (\cleaninline{#!}) is used to force evaluate an expression, in \gls{HASKELL} \haskellinline{seq} or \haskellinline{\$!} is used for this. \subsection{Uniqueness typing} -Types in \gls{CLEAN} may be \emph{unique}, which means that they cannot be shared \citep{barendsen_uniqueness_1996}. +Types in \gls{CLEAN} may be \emph{unique}, which means that instances of the type cannot be shared \citep{barendsen_uniqueness_1996}. The uniqueness type system allows the compiler to generate efficient code because unique data structures can be destructively updated. Furthermore, uniqueness typing serves as a model for side effects as well \citep{achten_high_1993,achten_ins_1995}. \Gls{CLEAN} uses the \emph{world-as-value} paradigm where \cleaninline{World} represents the external environment and is always unique \citep{backus_introduction_1990}.