\begin{frame}[fragile]
\frametitle{Two-phase design}
\framesubtitle{Parsing}
+ Read from stdin, write to stdout\\
Added some handy primitives
\begin{lstlisting}
parseBlock :: Parser Token [Stmt]
//square the odd numbers in a list and remove the even members
squareOddNumbers(list) :: [Int] -> [Int] {
- while(!isEmpty (list) && list.hd % 2==0){
+ while(!isEmpty (list) && list.hd % 2=0){
list=list.tl;
}
if(!isEmpty(list)){
ReadableABC: False
ReuseUniqueNodes: True
Fusion: False
+ Module
+ Name: _SystemDynamic
+ Dir: {Application}/lib/Dynamics
+ Compiler
+ NeverMemoryProfile: False
+ NeverTimeProfile: False
+ StrictnessAnalysis: True
+ ListTypes: StrictExportTypes
+ ListAttributes: True
+ Warnings: True
+ Verbose: True
+ ReadableABC: False
+ ReuseUniqueNodes: True
+ Fusion: False
Module
Name: GenEq
Dir: {Application}/lib/Generics
Fusion: False
Module
Name: System.OS
- Dir: {Application}/lib/clean-platform/OS-Mac
+ Dir: {Application}/lib/clean-platform/OS-Linux-64
Compiler
NeverMemoryProfile: False
NeverTimeProfile: False