X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Chapters%2FPrototype.tex;h=40663f37cf2edb95d728da97f2e41d7e4e1cbc4b;hp=037d1ce7570e1ea5bdc3edcd4d68744e227ab796;hb=4a1b0ec18b227d6ad82511e2968ea9b0023b4377;hpb=0ab64c5ce2ab968001c96475b310cf6f020bd475 diff --git a/Chapters/Prototype.tex b/Chapters/Prototype.tex index 037d1ce..40663f3 100644 --- a/Chapters/Prototype.tex +++ b/Chapters/Prototype.tex @@ -451,12 +451,12 @@ binder, even when strictness was involved. Nonetheless, the prototype handles this binder as expected. - Note that these case statements are less powerful than the full Haskell - case statements. In particular, they do not support complex patterns like + Note that these case expressions are less powerful than the full Haskell + case expressions. In particular, they do not support complex patterns like in Haskell. Only the constructor of an expression can be matched, complex patterns are implemented using multiple nested case expressions. - Case statements are also used for unpacking of algebraic datatypes, even + Case expressions are also used for unpacking of algebraic datatypes, even when there is only a single constructor. For examples, to add the elements of a tuple, the following Core is generated: @@ -995,7 +995,7 @@ \emph{one} application, no more and no less. The function result should contain exactly one state variable, which - can be extracted using (multiple) case statements. The extracted + can be extracted using (multiple) case expressions. The extracted state variable is referred to the \emph{output substate} The type of this output substate must be identical to the type of