Fix typos
[matthijs/master-project/haskell-symposium-talk.git] / summary.lhs
1 %include talk.fmt
2 \section{Conclusion}
3
4 \frame{
5 \frametitle{Some final words}
6 \begin{itemize}
7   \item Still a lot to do: translate larger subset of Haskell
8   \item Real world prototype designs can already be made in \clash{}
9 %  \item \clash{} is another great example of how to bring functional expressivity to hardware designs
10 \end{itemize}
11 }
12
13 \frame{
14 \vspace{6em}
15 \begin{figure}
16 \Huge{Thank you for listening}
17 \end{figure}
18 \vspace{5em}
19 \centerline{\clash{} Clone URL:}
20 \centerline{\url{git://github.com/christiaanb/clash.git}}
21 }
22
23 \frame
24 {
25 \frametitle{Complete signatures and Types}
26 \begin{code}
27 type Word         =   SizedInt D12  
28 type Instruction  =   ( Opcode, Word, RangedWord D9
29                       , RangedWord D9 )
30
31 registers :: 
32   ( NaturalT s 
33   , PositiveT (s :+: D1)
34   , ((s :+: D1) :>: s) ~ True )) => 
35   a -> RangedWord s -> RangedWord s -> 
36   (RegState s a) -> 
37   (RegState s a, a )
38 \end{code}
39 }
40
41 \frame
42 {
43 \frametitle{Supported Functionality}
44 \begin{itemize}
45 \item Polymorphism
46 \item Higher Order Functions
47 \item Fixed-Size Vectors (Simulation)
48 \item Ranged and Sized Integers (Simulation)
49 \item Custom Datatypes
50 \item Booleans, Tuples
51 \item Pattern Matching
52 \item Guards
53 \end{itemize}
54 }
55
56 \frame
57 {
58 \frametitle{Unsupported Functionality}
59 \begin{itemize}
60 \item Recursions
61 \item Lists (Dynamic Length)
62 \item Standard Haskell Types: Integer, Char, etc.
63 \item Monads
64 \item And much much more...
65 \end{itemize}
66 }