From 97b4981d96ca7afc4c6d3a3513bd63c01727ed57 Mon Sep 17 00:00:00 2001 From: Natalie Perna Date: Wed, 7 Jun 2017 11:33:01 -0400 Subject: [PATCH] Inline CSE fig. --- Chapters/RelatedWork.lhs | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Chapters/RelatedWork.lhs b/Chapters/RelatedWork.lhs index f2615b3..c5a76d7 100755 --- a/Chapters/RelatedWork.lhs +++ b/Chapters/RelatedWork.lhs @@ -13,9 +13,8 @@ The GHC compilation process consists of translating Haskell code into a second-o The syntax of the Core intermediate language of Haskell is very similar to Treeless, with expressions consisting mainly of $\lambda$ abstractions, |let| bindings, |case| expressions, constructors, literals and function applications, much like Agda's Treeless syntax.% outlined in Figure~\ref{code:TTerm}. -CSE is implemented in GHC with a single recursive traversal of the Core program. For each expression, its subexpressions are first transformed, then it is determined whether the whole transformed expression has occurred already \citep{Chitil-1998}. An example of this is shown in Figure~\ref{code:cse_haskell}. +CSE is implemented in GHC with a single recursive traversal of the Core program. For each expression, its subexpressions are first transformed, then it is determined whether the whole transformed expression has occurred already \citep{Chitil-1998}. -\begin{figure}[h] Given the expression: |let x = 3 in let y = 2+3 in 2+3+4| @@ -28,10 +27,6 @@ and then the recursive transformation produces: |let x = 3 in let y = 2+x in 2+x+4| -\caption{Common subexpression elimination transformation in Haskell \citep{Chitil-1998}.} -\label{code:cse_haskell} -\end{figure} - \section{Let-floating} \label{sec:let_floating}