% space at the start of the frame.
\define[1]\example{
\framed[offset=1mm,align=right,strut=no,background=box,frame=off]{
- \setuptyping[option=LAM,style=sans,before=,after=]
+ \setuptyping[option=LAM,style=sans,before=,after=,strip=auto]
\typebuffer[#1]
- \setuptyping[option=none,style=\tttf]
+ \setuptyping[option=none,style=\tttf,strip=auto]
}
}
Since its exact role and need is not clear yet, this transformation is
not yet specified.
+ TODO: Cast propagation
+
\subsubsection{Top level binding inlining}
This transform takes simple top level bindings generated by the
\small{GHC} compiler. \small{GHC} sometimes generates very simple
\starttrans
(letrec binds in E) M
- -----------------
+ ------------------------
letrec binds in E M
\stoptrans
Note that \lam{x0} and {x1} will still need normalization after this.
\subsubsection{Argument propagation}
+ TODO: Generalize this section into specialization, so other
+ transformations can refer to this (since specialization is really used
+ in multiple categories).
+
This transform deals with arguments to user-defined functions that are
not representable at runtime. This means these arguments cannot be
preserved in the final form and most be {\em propagated}.