From 2559ecf3e233701ae07a8f6cb08a44db8b63774f Mon Sep 17 00:00:00 2001 From: nek0 Date: Thu, 9 Jan 2020 02:19:41 +0100 Subject: [PATCH] init --- .gitignore | 8 ++ 12days.hs | 23 ++++ Functional programming.tex | 212 ++++++++++++++++++++++++++++++++ README.md | 3 + beamercolorthemeBlackboard.sty | 22 ++++ beamercolorthemeDarkConsole.sty | 28 +++++ beamerfontthemeluatexja.sty | 18 +++ beamerthemeDarkConsole.sty | 53 ++++++++ kmbeamer_color.sty | 48 ++++++++ kmbeamer_common.sty | 17 +++ pictures/Elixir-Logo.png | Bin 0 -> 10110 bytes pictures/Haskell-Logo.png | Bin 0 -> 6775 bytes pictures/Lisplogo_alien_256.png | Bin 0 -> 20782 bytes pictures/OCaml_Logo.png | Bin 0 -> 8900 bytes pictures/Swift-Logo.png | Bin 0 -> 11650 bytes 15 files changed, 432 insertions(+) create mode 100644 .gitignore create mode 100644 12days.hs create mode 100644 Functional programming.tex create mode 100644 README.md create mode 100644 beamercolorthemeBlackboard.sty create mode 100644 beamercolorthemeDarkConsole.sty create mode 100644 beamerfontthemeluatexja.sty create mode 100644 beamerthemeDarkConsole.sty create mode 100644 kmbeamer_color.sty create mode 100644 kmbeamer_common.sty create mode 100644 pictures/Elixir-Logo.png create mode 100644 pictures/Haskell-Logo.png create mode 100644 pictures/Lisplogo_alien_256.png create mode 100644 pictures/OCaml_Logo.png create mode 100644 pictures/Swift-Logo.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3d0ef34 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +*.aux +*.log +*.nav +*.out +*.pdf +*.synctex.gz +*.toc +*.vrb diff --git a/12days.hs b/12days.hs new file mode 100644 index 0000000..99d9e18 --- /dev/null +++ b/12days.hs @@ -0,0 +1,23 @@ +gifts :: [String] +gifts = + [ "And a partridge in a pear tree!", "Two turtle doves,", "Three french hens," + , "Four calling birds,", "Five golden rings,", "Six geese a-laying," + , "Seven swans a-swimming,", "Eight maids a-milking,", "Nine ladies dancing," + , "Ten lords a-leaping,", "Eleven pipers piping,", "Twelve drummers drumming," + ] + +days :: [String] +days = [ + "first", "second", "third", "fourth", "fifth", "sixth", "seventh", "eighth", + "ninth", "tenth", "eleventh", "twelfth" ] + +verseOfTheDay :: Int -> String +verseOfTheDay day = + "On the " ++ days !! day ++ " day of Christmas my true love gave to me... \n" + ++ concat (map (++ "\n") [dayGift day d | d <- [day, day-1..0]]) ++ "\n" + where + dayGift 0 _ = "A partridge in a pear tree!" + dayGift _ gift = gifts !! gift + +main :: IO () +main = putStrLn (concatMap verseOfTheDay [0..11]) diff --git a/Functional programming.tex b/Functional programming.tex new file mode 100644 index 0000000..f11cccc --- /dev/null +++ b/Functional programming.tex @@ -0,0 +1,212 @@ +\documentclass[aspectratio=1610,10pt]{beamer} +\usepackage{fontspec} +\usepackage[utf8]{inputenc} +\usepackage[english]{babel} +\usepackage{listings} +\usepackage{tcolorbox} +\usepackage{hyperref} + +\newtcbox{\mybox}{ + on line, + %colframe=mycolor, + colback=lightgray, + %boxrule=0.5pt, + arc=4pt, + boxsep=0pt, + left=6pt, + right=6pt, + top=6pt, + bottom=6pt +} + +\lstdefinelanguage{Haskelln}{ + language = Haskell, + otherkeywords = {=>,->,::,++,!!,|,<-}, +} + +\lstset{ + frame=none, + xleftmargin=2pt, + stepnumber=1, + numbers=none, + numbersep=5pt, + numberstyle=\ttfamily\tiny\color{lightgray}, + belowcaptionskip=\bigskipamount, + captionpos=b, + escapeinside={*'}{'*}, + language=Haskelln, + tabsize=2, + emphstyle={\bf}, + commentstyle=\it, + stringstyle=\mdseries\ttfamily\color{green}, + showspaces=false, + keywordstyle=[1]\color{cyan}\bfseries\ttfamily, + keywordstyle=[2]\color{orange}\bfseries\ttfamily, + keywordstyle=[3]\color{yellow}\bfseries\ttfamily, + keywordstyle=[4]\color{red}\bfseries\ttfamily, + keywordstyle=[5]\color{purple}\bfseries\ttfamily, + keywordstyle=[6]\color{blue}\bfseries\ttfamily, + %keywordstyle=\color{cyan}\ttfamily + columns=flexible, + basicstyle=\color{white}\small\ttfamily, + showstringspaces=false, + morecomment=[l]\%, + emptylines=1, +} + +% You can set fonts for Latin script here +\setmainfont{FreeSerif} +\setsansfont{FreeSans} +\setmonofont{Fira Mono} + +\usetheme{DarkConsole} + +\begin{document} + + % The metadata of the presentation + \title{Functional Programming} + \subtitle{Using the example of Haskell} + \author[]{Amedeo Molnár - \href{mailto:nek0@nek0.eu}{nek0@nek0.eu}} + %\institute{SRH Berufsbildungswerk Dresden gGmbH} + \date{13. Januar 2020} % Replace with date of the presentation + +\begin{frame}[plain] + \maketitle +\end{frame} + +\begin{frame}{Overview} + \tableofcontents +\end{frame} + +\section{Introduction} + +\begin{frame} +\frametitle{Languages} +\begin{center} +\begin{tabular}{ccc} + \onslide<2->{\mybox{\includegraphics[width=.2\linewidth]{pictures/Lisplogo_alien_256.png}}} & + & + \onslide<3->{\mybox{\includegraphics[width=.2\linewidth]{pictures/OCaml_Logo.png}}} + \\ + & + \onslide<6->{\mybox{\includegraphics[width=.25\linewidth]{pictures/Haskell-Logo.png}}} + & + \\ + \onslide<4->{\mybox{\includegraphics[width=.16\linewidth]{pictures/Swift-Logo.png}}} + & + & + \onslide<5->{\mybox{\includegraphics[height=.16\linewidth]{pictures/Elixir-Logo.png}}} +\end{tabular} +\end{center} +\end{frame} + +\begin{frame} + \frametitle{Core Concepts} + \begin{itemize} + \item \underline{Pure functions}\\ + {\onslide<2->{\color{lightgray}A (pure) function must produce the same + result given the same input and does not rely on or alter external state.}} + \item \underline{Non-imperative functions}\\ + {\onslide<3->{\color{lightgray}A function is not a sequence of commands, but + a nesting of other functions.}} + \item \underline{First class citizens}\\ + {\onslide<4->{\color{lightgray}Functions are equal to other data objects and + can thus be passed as function arguments or be computation results + themselves.}} + \item \underline{Closures}\\ + {\onslide<5->{\color{lightgray}Functions can only access variables inside + context they have been created. This can happen even when the function + itself has left this context. In this case the variable values are frozen at + the moment of departure inside the function.}} + \item \underline{Lambdas}\\ + {\onslide<6->{\color{lightgray}A function definition can take place without + an explicit name in the position of a function symbol.}} + \end{itemize} +\end{frame} + +\section{Main differences to imperative programming} + +\begin{frame} + \frametitle{\secname} + + \begin{itemize} + \item<2-> Avoidance of side effects + \item<3-> No state + \item<4-> No Loops + \item<5-> Immutable variables + \end{itemize} +\end{frame} + +\section{Examples} + +\begin{frame}[fragile] + \frametitle{\secname} + +\begin{lstlisting} +sq :: (Floating a) => a -> a +sq x = x * x +\end{lstlisting} + +\vspace{1cm} + +\begin{lstlisting} +ringArea :: (Floating a) => a -> a -> a +ringArea r1 r2 = pi * (sq r1 - sq r2) +\end{lstlisting} + +\vspace{1cm} + +\begin{lstlisting} +fib :: Integer -> Integer +fib 0 = 0 +fib 1 = 1 +fib n = fib (n - 2) + fib (n - 1) +\end{lstlisting} +\end{frame} + +\begin{frame} + \frametitle{Advanced Example} + +\lstinputlisting[ + basicstyle=\color{white}\fontsize{9pt}{9pt}\ttfamily + ]{12days.hs} + +\end{frame} + +\section{Fields of Application} + +\begin{frame} + \frametitle{Fields of Application} + + \begin{itemize} + \item<2-> Big Data + \item<3-> Finance Sector + \item<4-> Science + \item<5-> Virtually everywhere + \end{itemize} +\end{frame} + +\section{Conclusion} + +\begin{frame} + \frametitle{Literature recommendations} + + \begin{itemize} + \item \href{http://learnyouahaskell.com/}{Learn you a Haskell for Great Good!} + \item \href{http://book.realworldhaskell.org/}{Real World Haskell} + \item + \href{https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939}{Parallel and Concurrent Programming in Haskell} + \item \href{http://www.cs.yale.edu/homes/hudak/Papers/HSoM.pdf}{The Haskell + School of Music} + \end{itemize} +\end{frame} + +\begin{frame}[plain] + \begin{center} + {\Huge Thank you for your attention!}\\ + This presentation is avalable for download at:\\ + \url{https://github.com/nek0/presentation-fp-haskell} + \end{center} +\end{frame} + +\end{document} \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..99ca79d --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# presentation-fp-haskell + +A short presentation on functional programming with Haskell diff --git a/beamercolorthemeBlackboard.sty b/beamercolorthemeBlackboard.sty new file mode 100644 index 0000000..a73ecd1 --- /dev/null +++ b/beamercolorthemeBlackboard.sty @@ -0,0 +1,22 @@ +%% Copyright (c) 2011-2016 Kazuki Maeda +%% +%% Distributable under the MIT License: +%% http://www.opensource.org/licenses/mit-license.php +%% +\ProvidesPackage{beamercolorthemeBlackboard}[2012/06/07 ] + +\mode + +\usepackage{kmbeamer_color} + +\setbeamercolor*{background canvas}{bg=bottlegreen} +\setbeamercolor*{normal text}{fg=snow} +\setbeamercolor*{alerted text}{fg=midyellow} +\setbeamercolor*{structure}{fg=water} + +\setbeamercolor*{title}{fg=water} + +\mode + + +\endinput diff --git a/beamercolorthemeDarkConsole.sty b/beamercolorthemeDarkConsole.sty new file mode 100644 index 0000000..769d0da --- /dev/null +++ b/beamercolorthemeDarkConsole.sty @@ -0,0 +1,28 @@ +%% Copyright (c) 2013-2016 Kazuki Maeda +%% +%% Distributable under the MIT License: +%% http://www.opensource.org/licenses/mit-license.php +%% +\ProvidesPackage{beamercolorthemeDarkConsole}[2013/05/08 ] + +\mode + +\usepackage{kmbeamer_color} + +\setbeamercolor*{background canvas}{bg=backgroundGray} +\setbeamercolor*{normal text}{fg=whiteee} +\setbeamercolor*{alerted text}{fg=tomato} +\setbeamercolor*{structure}{fg=gold} + +\setbeamercolor*{title}{fg=chartreuse} +\setbeamercolor*{frametitle}{fg=chartreuse} + +\setbeamercolor*{itemize item}{fg=chartreuse} +\setbeamercolor*{enumerate item}{fg=chartreuse} + + + +\mode + + +\endinput diff --git a/beamerfontthemeluatexja.sty b/beamerfontthemeluatexja.sty new file mode 100644 index 0000000..26849c9 --- /dev/null +++ b/beamerfontthemeluatexja.sty @@ -0,0 +1,18 @@ +%% Copyright (c) 2011-2016 Kazuki Maeda +%% +%% Distributable under the MIT License: +%% http://www.opensource.org/licenses/mit-license.php +%% +\ProvidesPackage{beamerfontthemeluatexja}[2011/11/03 ] + +\mode + +\RequirePackage{luatexja-fontspec} + +\setmainjfont[NoEmbed]{GothicBBB-Medium} +\setsansjfont[NoEmbed]{GothicBBB-Medium} + +\mode + + +\endinput diff --git a/beamerthemeDarkConsole.sty b/beamerthemeDarkConsole.sty new file mode 100644 index 0000000..1eef2c7 --- /dev/null +++ b/beamerthemeDarkConsole.sty @@ -0,0 +1,53 @@ +%% Copyright (c) 2013-2016 Kazuki Maeda +%% +%% Distributable under the MIT License: +%% http://www.opensource.org/licenses/mit-license.php +%% +\ProvidesPackage{beamerthemeDarkConsole}[2013/05/16 ] + +\mode + +\RequirePackage{kmbeamer_common} + +\usecolortheme{DarkConsole} + +\def\familydefault{\ttdefault} + +\setbeamersize{text margin left=2mm,text margin right=2mm} + +\setbeamerfont{alerted text}{series=\bfseries} +\setbeamerfont{structure}{series=\bfseries} +\setbeamerfont{title}{size=\normalsize,series=\bfseries} +\setbeamerfont{frametitle}{size=\normalsize,series=\bfseries} +\setbeamerfont{block title}{size=\normalsize,series=\bfseries} +\setbeamerfont{footline}{size*={5}{\z@},series=\bfseries} + +\setbeamertemplate{itemize item}{*} +\setbeamertemplate{itemize subitem}{*} +\setbeamertemplate{itemize subsubitem}{*} +\setbeamertemplate{frametitle}{{\usebeamercolor[fg]{normal text}\texttt{\mdseries >\hbox{}>\hbox{}> }}\boldmath\insertframetitle} +\setbeamertemplate{headline}{} +\setbeamertemplate{footline}{ + \setbox\kmbmr@tmpboxa\hbox{[\ifnum\insertsectionnumber>0\boldmath\insertsectionnumber.~\insertsection\else\char"7E\fi]\$~\_} + \setbox\kmbmr@tmpboxb\hbox{[\insertframenumber/\inserttotalframenumber]} + \ht\kmbmr@tmpboxa=1mm\dp\kmbmr@tmpboxa=0mm + \ht\kmbmr@tmpboxb=1mm\dp\kmbmr@tmpboxb=0mm + \vspace{5.2mm} + \hspace{2mm}\noindent\box\kmbmr@tmpboxa\hfill\box\kmbmr@tmpboxb\hspace{2mm} + \vspace{1.3mm} +} +\setbeamertemplate{title page}{ + \renewcommand\thefootnote{\fnsymbol{footnote}} + \setcounter{footnote}{1} % \dagger + \noindent >\hbox{}>\hbox{}> {\usebeamerfont{title}\usebeamercolor[fg]{title}\bfseries\boldmath\inserttitle} + \ifx\insertsubtitle\@empty\else\\>\hbox{}>\hbox{}> {\usebeamerfont{title}\usebeamercolor[fg]{title}\insertsubtitle}\fi~\\[1em] + Name: \insertauthor\ \ifx\insertinstitute\@empty\else(\insertinstitute)\fi\\ + Date: \insertdate + \renewcommand\thefootnote{\arabic{footnote}} + \setcounter{footnote}{0} +} + +\mode + + +\endinput diff --git a/kmbeamer_color.sty b/kmbeamer_color.sty new file mode 100644 index 0000000..ef2c283 --- /dev/null +++ b/kmbeamer_color.sty @@ -0,0 +1,48 @@ +%% Copyright (c) 2011-2016 Kazuki Maeda +%% +%% Distributable under the MIT License: +%% http://www.opensource.org/licenses/mit-license.php +%% +\ProvidesPackage{kmbeamer_color}[2013/05/08 ] + +%% black +\definecolor{backgroundGray}{HTML}{1e1e1e} + +%% blue +\definecolor{midnightblue}{HTML}{00152D} +\definecolor{navyblue}{HTML}{1F2F54} +\definecolor{ultramarine}{HTML}{4B64A1} +\definecolor{water}{HTML}{A9CEEC} + +%% brown +\definecolor{sepia}{HTML}{4A3B2A} +\definecolor{brown}{HTML}{763900} +\definecolor{goldbrown}{HTML}{C47600} +\definecolor{satsuma}{HTML}{FA8000} + +%% green +\definecolor{deepgreen}{HTML}{005731} +\definecolor{bottlegreen}{HTML}{264435} +\definecolor{tokiwa}{HTML}{357C4C} +\definecolor{indigo}{HTML}{234794} +\definecolor{chartreuse}{HTML}{7FFF00} + +%% red +\definecolor{kerria}{HTML}{FFA500} +\definecolor{vermilion}{HTML}{ED514E} +\definecolor{madder}{HTML}{B22D35} +\definecolor{maroon}{HTML}{682A2B} +\definecolor{tomato}{HTML}{FF6347} + +%% white +\definecolor{snow}{HTML}{F1F1F1} +\definecolor{whiteee}{HTML}{EEEEEC} + +%% yellow +\definecolor{midyellow}{HTML}{FAD43A} +\definecolor{lemonchiffon}{HTML}{FFFACD} +\definecolor{gold}{HTML}{FFD700} + + + +\endinput diff --git a/kmbeamer_common.sty b/kmbeamer_common.sty new file mode 100644 index 0000000..198cf72 --- /dev/null +++ b/kmbeamer_common.sty @@ -0,0 +1,17 @@ +%% Copyright (c) 2011–2016 Kazuki Maeda +%% +%% Distributable under the MIT License: +%% http://www.opensource.org/licenses/mit-license.php +%% +\ProvidesPackage{kmbeamer_common}[2012/04/20 ] + +\newbox\kmbmr@tmpboxa +\newbox\kmbmr@tmpboxb + +\usefonttheme{professionalfonts} + +\setbeamertemplate{sections/subsections in toc}[sections numbered]{} +\setbeamertemplate{navigation symbols}{} +\setbeamertemplate{qed symbol}{} + +\endinput diff --git a/pictures/Elixir-Logo.png b/pictures/Elixir-Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..28fdb4f4b6e0f40b7e26cd57d39a20342b949012 GIT binary patch literal 10110 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 literal 0 HcmV?d00001 diff --git a/pictures/Haskell-Logo.png b/pictures/Haskell-Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..109cff9798d348dc70fd8c7038bf5a89af4fc528 GIT binary patch literal 6775 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 literal 0 HcmV?d00001 diff --git a/pictures/Lisplogo_alien_256.png b/pictures/Lisplogo_alien_256.png new file mode 100644 index 0000000000000000000000000000000000000000..5006f2e682176df221033b2ed25ec5484dc172fe GIT binary patch literal 20782 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 lKzK2#CHg!RiOt*pK)Vp^CvFWX>gYq&fEG+wy