X-Git-Url: https://git.stderr.nl/gitweb?p=matthijs%2Fmaster-project%2Freport.git;a=blobdiff_plain;f=Chapters%2FNormalization.tex;h=6853d88d704b166eaed7ccb0b3964b2d4f284afb;hp=efd59fff5cba75141421db49669293fc673288b5;hb=157bcc5cf02402db103722466079b1a6b2b54c56;hpb=5d17eedd2ad157c9d35d72093eb3acca851342e8 diff --git a/Chapters/Normalization.tex b/Chapters/Normalization.tex index efd59ff..6853d88 100644 --- a/Chapters/Normalization.tex +++ b/Chapters/Normalization.tex @@ -230,10 +230,10 @@ the core language in a notation that resembles lambda calculus. Each of these transforms is meant to be applied to every (sub)expression in a program, for as long as it applies. Only when none of the -expressions can be applied anymore, the program is in normal form. We -hope to be able to prove that this form will obey all of the constraints -defined above, but this has yet to happen (though it seems likely that -it will). +transformations can be applied anymore, the program is in normal form (by +definition). We hope to be able to prove that this form will obey all of the +constraints defined above, but this has yet to happen (though it seems likely +that it will). Each of the transforms will be described informally first, explaining the need for and goal of the transform. Then, a formal definition is @@ -684,7 +684,7 @@ arguments into normal form. The goal here is to: When looking at the arguments of a user-defined function, we can divide them into two categories: \startitemize - \item Arguments with a runtime representable type (\eg bits or vectors). + \item Arguments of a runtime representable type (\eg bits or vectors). These arguments can be preserved in the program, since they can be translated to input ports later on. However, since we can @@ -720,7 +720,7 @@ When looking at the arguments of a builtin function, we can divide them into categories: \startitemize - \item Arguments with a runtime representable type. + \item Arguments of a runtime representable type. As we have seen with user-defined functions, these arguments can always be reduced to a simple variable reference, by the @@ -729,7 +729,7 @@ into categories: functions can be limited to signal references, instead of needing to support all possible expressions. - \item Arguments with a function type. + \item Arguments of a function type. These arguments are functions passed to higher order builtins, like \lam{map} and \lam{foldl}. Since implementing these