Commits

Even Wiik Thomassen committed 7cc0897

.

Comments (0)

Files changed (4)

     address = {New York, NY, USA},
 } 
 
+@article{jones94,
+    title = {{Compilation by transformation in the Glasgow Haskell Compiler}},
+    author = {Jones, Simon Peyton and Santos, Andre},
+    journal = {Functional Programming, Glasgow},
+    pages = {184--204},
+    year = {1994},
+    publisher = {Citeseer}
+}
+
+
 
 %======================================
 % Virtual machines implemented in PyPy
 \section{Limitations and issues}
 %-------------------------------
 \label{sec:issues}
-While Core has been improved and upgraded to different iterations of \sysf
-(currently \sysfp), external core has been neglected and drifted out of sync
-with Core. 
+While Core has been improved and upgraded to different iterations based of
+\sysf (currently \sysfp), external core has been neglected and drifted out of
+sync with Core. 
 %http://hackage.haskell.org/trac/ghc/wiki/ExternalCore
 %getting External Core and Core back in sync
 
 Haskell is transformed to Core. As can be seen in
 \autoref{fig:ghc-optimizations}, there are several different optimization
 steps, and the simplifier is run in between. The simplifier applies a lot of
-small, local optimizations. The actual steps taken depend on optimization level
-specified, where one can trade compilation speed for generated code with is
-faster~\cite{ghc}. During these steps \gls{ghc} performs traditional
+small, local optimizations such as let-to-case transformation and case
+elimination. The actual steps taken depend on optimization level specified,
+where one can trade compilation speed for generated code with is
+faster~\cite{ghc, jones94}. During these steps \gls{ghc} performs traditional
 optimizations such as common sub-expression elimination, unboxing, inlining,
-and more.
+and more~\cite{jones91}.
 
 \begin{figure}[tbp]
 	\center
 %\include{introduction}
 \include{ghc} % Haskell, GHC, Core
 \include{rpython} % Python, PyPy, RPython, JIT
+\include{pyhaskell} % Everyhing about PyHaskell
 \include{extcore} % GHC's External Core
-\include{pyhaskell} % Everyhing about PyHaskell
 \include{jit} % JIT techniques (method)
 \include{lowlevel} % Low level code examples
 %\include{benchmarks} % Describe how we benchmark