You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

307 lines
6.3 KiB

  1. \documentclass[10pt,a5paper,mathserif,serif,usenames,dvipsnames]{beamer}
  2. % packages
  3. \usepackage{xcolor}
  4. \usepackage[utf8]{inputenc}
  5. \usepackage{amsmath}
  6. \usepackage{amsfonts}
  7. \usepackage{amssymb}
  8. \usepackage{graphicx}
  9. \usepackage{listings}
  10. \usepackage{minted}
  11. % for \verb inside \item
  12. \usepackage[T1]{fontenc}
  13. \usepackage[Q=yes]{examplep}
  14. % package configuration
  15. \DeclareGraphicsExtensions{.pdf,.png,.jpg}
  16. \beamertemplatenavigationsymbolsempty
  17. \setbeamertemplate{footline}[frame number]
  18. \usemintedstyle{friendly}
  19. \newminted{haskell}{frame=single,numbers=left}
  20. \newminted{cpp}{frame=single,numbers=left}
  21. \newminted{c}{frame=single,numbers=left}
  22. \renewcommand{\theFancyVerbLine}{\ttfamily
  23. \textcolor[rgb]{0.0,0.0,0.0}{\footnotesize
  24. \oldstylenums{\arabic{FancyVerbLine}}}}
  25. % title page information
  26. \author{Julian Ospald}
  27. \institute{FH Bielefeld}
  28. \title{Haskell: higher order functions}
  29. % color definition
  30. \definecolor{solarized}{HTML}{002B36}
  31. \definecolor{mygreen}{rgb}{0,0.6,0}
  32. % macros and environments
  33. \newcommand{\code}[1]{\texttt{#1}}
  34. \newcommand{\slidep}{\onslide<+->}
  35. \newenvironment{itemizep}
  36. {\begin{itemize}[<+->]}
  37. {\end{itemize}}
  38. \begin{document}
  39. \frame{\titlepage}
  40. \begin{frame}
  41. \frametitle{Table of Contents}
  42. \tableofcontents
  43. \end{frame}
  44. \section{1. Reiteration}
  45. \begin{frame}
  46. \frametitle{1. Reiteration}
  47. \tableofcontents[currentsection,hideothersubsections]
  48. \end{frame}
  49. \begin{frame}
  50. \frametitle{1. Reiteration (ctn.)}
  51. \input{./content/VL2_reiteration.tex}
  52. \end{frame}
  53. \section{2. Polymorphism}
  54. \begin{frame}
  55. \frametitle{2. Polymorphism}
  56. \tableofcontents[currentsection,hideothersubsections]
  57. \end{frame}
  58. \begin{frame}[fragile]
  59. \frametitle{2. Polymorphism (ctn.)}
  60. \input{./content/VL2_polymorphism1.tex}
  61. \end{frame}
  62. \begin{frame}[fragile]
  63. \frametitle{2. Polymorphism (ctn.)}
  64. \input{./content/VL2_polymorphism2.tex}
  65. \end{frame}
  66. \section{3. More ways to define functions}
  67. \begin{frame}
  68. \frametitle{3. More ways to define functions}
  69. \tableofcontents[currentsection,hideothersubsections]
  70. \end{frame}
  71. \begin{frame}[fragile]
  72. \frametitle{3. More ways to define functions (ctn.)}
  73. \input{./content/VL2_define_functions1.tex}
  74. \end{frame}
  75. \subsection{3.1. Where}
  76. \begin{frame}[fragile]
  77. \frametitle{3.1. Where}
  78. \input{./content/VL2_define_functions2.tex}
  79. \end{frame}
  80. \subsection{3.2. Let}
  81. \begin{frame}[fragile]
  82. \frametitle{3.2. Let}
  83. \input{./content/VL2_define_functions3.tex}
  84. \end{frame}
  85. \subsection{3.3. Let vs Where}
  86. \begin{frame}[fragile]
  87. \frametitle{3.3. Let vs Where}
  88. \input{./content/VL2_define_functions4.tex}
  89. \end{frame}
  90. \subsection{3.4. Anonymous functions}
  91. \begin{frame}[fragile]
  92. \frametitle{3.4. Anonymous functions}
  93. \input{./content/VL2_define_functions5.tex}
  94. \end{frame}
  95. \section{4. Currying}
  96. \begin{frame}
  97. \frametitle{4. Currying}
  98. \tableofcontents[currentsection,hideothersubsections]
  99. \end{frame}
  100. \begin{frame}[fragile]
  101. \frametitle{4. Currying (ctn.)}
  102. \input{./content/VL2_currying1.tex}
  103. \end{frame}
  104. \begin{frame}[fragile]
  105. \frametitle{4. Currying (ctn.)}
  106. \input{./content/VL2_currying2.tex}
  107. \end{frame}
  108. \begin{frame}[fragile]
  109. \frametitle{4. Currying (ctn.)}
  110. \input{./content/VL2_currying3.tex}
  111. \end{frame}
  112. \begin{frame}[fragile]
  113. \frametitle{4. Currying (ctn.)}
  114. \input{./content/VL2_currying4.tex}
  115. \end{frame}
  116. \begin{frame}[fragile]
  117. \frametitle{4. Currying (ctn.)}
  118. \input{./content/VL2_currying5.tex}
  119. \end{frame}
  120. \begin{frame}[fragile]
  121. \frametitle{4. Currying (ctn.)}
  122. \input{./content/VL2_currying6.tex}
  123. \end{frame}
  124. \begin{frame}[fragile]
  125. \frametitle{4. Currying (ctn.)}
  126. \input{./content/VL2_currying7.tex}
  127. \end{frame}
  128. \begin{frame}[fragile]
  129. \frametitle{4. Currying (ctn.)}
  130. \input{./content/VL2_currying8.tex}
  131. \end{frame}
  132. \section{5. Function composition}
  133. \begin{frame}
  134. \frametitle{5. Function composition}
  135. \tableofcontents[currentsection,hideothersubsections]
  136. \end{frame}
  137. \begin{frame}[fragile]
  138. \frametitle{5. Function composition (ctn.)}
  139. \input{./content/VL2_composition1.tex}
  140. \end{frame}
  141. \begin{frame}[fragile]
  142. \frametitle{5. Function composition}
  143. \input{./content/VL2_composition2.tex}
  144. \end{frame}
  145. \begin{frame}[fragile]
  146. \frametitle{5. Function composition}
  147. \input{./content/VL2_composition3.tex}
  148. \end{frame}
  149. \section{6. Recursion patterns}
  150. \begin{frame}
  151. \frametitle{6. Recursion patterns}
  152. \tableofcontents[currentsection,hideothersubsections]
  153. \end{frame}
  154. \begin{frame}[fragile]
  155. \frametitle{6. Recursion patterns (ctn.)}
  156. \input{./content/VL2_rec_patterns1.tex}
  157. \end{frame}
  158. \subsection{6.1. Map}
  159. \begin{frame}[fragile]
  160. \frametitle{6.1. Map}
  161. \input{./content/VL2_rec_patterns2.tex}
  162. \end{frame}
  163. \begin{frame}[fragile]
  164. \frametitle{6.1. Map (ctn.)}
  165. \input{./content/VL2_rec_patterns3.tex}
  166. \end{frame}
  167. \begin{frame}[fragile]
  168. \frametitle{6.1. Map (ctn.)}
  169. \input{./content/VL2_rec_patterns4.tex}
  170. \end{frame}
  171. \begin{frame}[fragile]
  172. \frametitle{6.1. Map (ctn.)}
  173. \input{./content/VL2_rec_patterns5.tex}
  174. \end{frame}
  175. \subsection{6.2. Filter}
  176. \begin{frame}[fragile]
  177. \frametitle{6.2. Filter}
  178. \input{./content/VL2_rec_patterns6.tex}
  179. \end{frame}
  180. \begin{frame}[fragile]
  181. \frametitle{6.2. Filter (ctn.)}
  182. \input{./content/VL2_rec_patterns7.tex}
  183. \end{frame}
  184. \subsection{6.3. Fold}
  185. \begin{frame}[fragile]
  186. \frametitle{6.3. Fold}
  187. \input{./content/VL2_rec_patterns8.tex}
  188. \end{frame}
  189. \begin{frame}[fragile]
  190. \frametitle{6.3. Fold (ctn.)}
  191. \input{./content/VL2_rec_patterns9.tex}
  192. \end{frame}
  193. \begin{frame}[fragile]
  194. \frametitle{6.3. Fold (ctn.)}
  195. \input{./content/VL2_rec_patterns10.tex}
  196. \end{frame}
  197. \begin{frame}[fragile]
  198. \frametitle{6.3. Fold (ctn.)}
  199. \input{./content/VL2_rec_patterns11.tex}
  200. \end{frame}
  201. \begin{frame}[fragile]
  202. \frametitle{6.3. Summary}
  203. \input{./content/VL2_rec_patterns12.tex}
  204. \end{frame}
  205. \section{7. Reflection}
  206. \begin{frame}
  207. \frametitle{7. Reflection}
  208. \tableofcontents[currentsection,hideothersubsections]
  209. \end{frame}
  210. \subsection{7.1. What you should know}
  211. \begin{frame}
  212. \frametitle{7.1. What you should know now}
  213. \input{./content/VL2_reflection1.tex}
  214. \end{frame}
  215. \subsection{7.2. Questions for you}
  216. \begin{frame}[fragile]
  217. \frametitle{7.2. Questions for you}
  218. \input{./content/VL2_reflection2.tex}
  219. \end{frame}
  220. \section{8. References}
  221. \begin{frame}
  222. \frametitle{8. References}
  223. \tableofcontents[currentsection,hideothersubsections]
  224. \end{frame}
  225. \subsection{8.1. Links}
  226. \begin{frame}
  227. \frametitle{8.1. Further reading and useful links}
  228. \input{../common/content/VL_links.tex}
  229. \end{frame}
  230. \subsection{8.2. Sources}
  231. \begin{frame}
  232. \frametitle{8.2. Sources}
  233. \input{../common/content/VL_sources.tex}
  234. \end{frame}
  235. \end{document}