Various small fixes following from Bert's commentaar.
[matthijs/master-project/report.git] / Chapters / Prototype.tex
index 037d1ce7570e1ea5bdc3edcd4d68744e227ab796..48c69b9d0f50bdfb1dd71c95994f13ff504e9457 100644 (file)
       \startlambda
       λbndr.body
       \stoplambda
-      This is the basic lambda abstraction, as it occurs in labmda calculus.
+      This is the basic lambda abstraction, as it occurs in lambda calculus.
       It consists of a binder part and a body part.  A lambda abstraction
       creates a function, that can be applied to an argument. The binder is
       usually a value binder, but it can also be a \emph{type binder} (or
       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:
 
         \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