Add some slides to my part.
[matthijs/master-project/final-presentation.git] / matthijs / introduction.lhs
1 %include talk.fmt
2 \title{Haskell as a higher order structural hardware description language}
3 \author{Matthijs Kooijman}
4 \date{December 14, 2009}
5
6 \frame{\titlepage \setcounter{framenumber}{1}}
7
8
9 \frame
10 {
11   \begin{block}{Applying the $sqrt$ function to 4}
12   $ sqrt(4) = 2$
13   \end{block}
14 }
15
16 \note[itemize]
17 {
18   \item Functional language - Math like
19   \item Central: Functions
20   \item Outside:
21     \begin{itemize}
22       \item Put arguments in (application)
23       \item get result out
24     \end{itemize}
25   \item Inside:
26     \begin{itemize}
27       \item \emph{How} does the function work? (definition)
28     \end{itemize}
29
30   \item Next sheet: sqrt example
31 }
32
33 \frame
34 {
35   \begin{block}{A mathematical square function}
36   $ f(x) = x * x$
37   \end{block}
38   
39   \pause
40   \begin{block}{A square function in Haskell}
41   \texttt{square x = x * x}
42   \end{block}
43 }
44
45 \note[itemize]
46 {
47   \item Next sheet: f(x) = x*x example
48   \item Next sheet: square in Haskell
49   \item No braces
50   \item Next sheet: pyth in Haskell
51   \item Functions can be used by other functions
52 }
53
54 \frame
55 {
56   \begin{columns}
57     \begin{column}{8cm}
58       \begin{block}{Pythagoras' theorem}
59       $ a^2 + b^2 = c^2 $
60
61       or
62
63       $ c = \sqrt{a^2 + b^2} $
64       \end{block}
65     \end{column}
66     \begin{column}{3cm}
67       \includegraphics[width=3cm]{figures/Pythagoras}
68     \end{column}
69   \end{columns}
70   \pause
71   % TODO: Alignment is weird due to mixing columns and non-columns
72   \begin{block}{Calculating $c$ in Haskell}
73     \texttt{pyth a b = sqrt ((square a) + (square b))}
74   \end{block}
75 }
76
77 % vim: set filetype=tex sw=2 sts=2 expandtab: