Improve presentation, based on comments.
[matthijs/master-project/haskell-symposium-talk.git] / introduction.lhs
index 32afbe9e6f5708bfe8cb4bfcd773eda8c4b4c6f4..e0a72ff95d137aebdd7126a26048a326f4c4e69c 100644 (file)
@@ -1,46 +1,41 @@
 %include talk.fmt
 \section{Introduction}
-\subsection{What will you see}
-\frame
-{
-  \frametitle{What will we see?}
-  \begin{itemize}
-    \item Small tour: what can we describe in \clash{}
-    \item Quick real demo
-  \end{itemize}
-}
-\note{Virtuele demo}
-
 \subsection{What is \texorpdfstring{\clash{}}{CLasH}}
 \frame
 {
-  \frametitle{What is \clash{}?}
+  \frametitle{What is \clash{}?}\pause
   \begin{itemize}
-    \item \clash{}: CAES Language for Hardware Descriptions
-    \item Rapid prototyping language
-    \item Subset of Haskell can be translated to Hardware (VHDL)
-    \item Structural Description of a Mealy Machine
+    \item \clash{}: CAES Language for Hardware\pause
+    \item Rapid prototyping language\pause
+    \item Subset of Haskell can be translated to Hardware (VHDL)\pause
+    \item Structural Description of the logic part of a Mealy Machine
   \end{itemize}
 }
 \note[itemize]
 {
-\item Wij zijn wij
-\item \clash{} voor rapid prototyping
-\item Subset haskell vertaalbaar
-\item Mealy machine beschrijving
+\item We are a Computer Architectures group, this has been a Masters' project, no prior experience with Haskell.
+\item \clash{} is written in Haskell, of course
+\item \clash{} is currently meant for rapid prototyping, not verification of hardware desigs
+\item Functional languages are close to Hardware
+\item We can only translate a subset of Haskell
+\item All functions are descriptions of Mealy Machines
 }
 
 \subsection{Mealy Machine}
 \frame
 {
-\frametitle{Mealy Machine}
+\frametitle{What is a Mealy Machine again?}
   \begin{figure}
   \centerline{\includegraphics[width=10cm]{mealymachine}}
   \label{img:mealymachine}
   \end{figure}
 }
-\note{
-Voor wie het niet meer weet, dit is een mealy machine
+\note[itemize]{
+\item Mealy machine bases its output on current input and previous state
+\item: TODO: Integrate this slide with the next two. First, show the picture
+with the mealyMachine type signature (and rename it to "func"). Then, show the
+run function, without type signature. Focus is on correspondence to the
+picture.
 }
 
 \frame
@@ -52,13 +47,18 @@ mealyMachine ::
   InputSignals ->
   {-"{\color<2>[rgb]{1,0,0}"-}State{-"}"-} ->
   (State, OutputSignals)
-mealyMachine inputs {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} = ({-"{\color<3>[rgb]{1,0,0}"-}new_state{-"}"-}, output)
-  where
-    {-"{\color<3>[rgb]{1,0,0}"-}new_state{-"}"-}    =   logic     {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-}   input
-    outputs                                         =   logic     {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-}   input
 \end{code}
 \end{beamercolorbox}
+\begin{itemize}
+\uncover<2->{\item Current state is part of the input}
+\uncover<3->{\item New state is part of the output}
+\end{itemize}
+}
+\note[itemize]{
+\item State is part of the function signature
+\item Both the current state, as the updated State
 }
+
 \subsection{Simulation}
 \frame
 {
@@ -72,4 +72,13 @@ run func {-"{\color<2>[rgb]{1,0,0}"-}state{-"}"-} (i:input) = o:out
     out                                             =   run func {-"{\color<3>[rgb]{1,0,0}"-}state'{-"}"-} input
 \end{code}
 \end{beamercolorbox}
-}
\ No newline at end of file
+\begin{itemize}
+\item State behaves like an accumulator
+\item Input is a (normal) list of inputs, one for each cycle
+\end{itemize}
+}
+\note[itemize]{
+\item This is just a quick example of how we can simulate the mealy machine
+\item It sort of behaves like MapAccumN
+}
+