diff --git a/VL1/content/VL1_arithmetic_and_co.tex b/VL1/content/VL1_arithmetic_and_co.tex index 85aa16f..88b975a 100644 --- a/VL1/content/VL1_arithmetic_and_co.tex +++ b/VL1/content/VL1_arithmetic_and_co.tex @@ -1,9 +1,8 @@ -GHCi: -\begin{haskellcode} +\begin{haskellcode*}{bgcolor=mygrey,frame=single,numbers=none,label=GHCi} > 3 + 5 > (3 :: Integer) + (5 :: Int) > 6 * 5.0 > "Hello" ++ " world" > "Haskell" > "C++" > True && False -\end{haskellcode} \ No newline at end of file +\end{haskellcode*} \ No newline at end of file diff --git a/VL1/content/VL1_lists2.tex b/VL1/content/VL1_lists2.tex index c18c75b..38d6705 100644 --- a/VL1/content/VL1_lists2.tex +++ b/VL1/content/VL1_lists2.tex @@ -1,5 +1,5 @@ Let's check on a few very common list operations: -\begin{haskellcode} +\begin{haskellcode*}{bgcolor=mygrey,frame=single,numbers=none,label=GHCi} > [1, 2] ++ [4, 5] -- append two lists > head [1, 2, 3] -- first element > tail [1, 2, 3] -- everything after the head @@ -8,12 +8,12 @@ Let's check on a few very common list operations: > drop 2 [1, 2, 3] -- drop the first two elements > sum [1, 2, 3] > elem 7 [1, 2, 3] -- is there a 7 in the list? -\end{haskellcode} +\end{haskellcode*} \pause A String in haskell is just a list of Chars! -\begin{haskellcode} +\begin{haskellcode*}{bgcolor=mygrey,frame=single,numbers=none,label=GHCi} > ['a', 'b', 'c'] > 'a' : [] > head "abc" > 'a' ++ 'c' -\end{haskellcode} \ No newline at end of file +\end{haskellcode*} \ No newline at end of file diff --git a/VL1/content/VL1_lists4.tex b/VL1/content/VL1_lists4.tex index 991c076..ec239fa 100644 --- a/VL1/content/VL1_lists4.tex +++ b/VL1/content/VL1_lists4.tex @@ -7,13 +7,13 @@ $S = \{2 \times x\ |\ x \in \mathbb{N},\ x \leq 10\}$ \\ How does this look in haskell? \pause -\begin{haskellcode} +\begin{haskellcode*}{bgcolor=mygrey,frame=single,numbers=none,label=GHCi} > [ 2 * x | x <- [1..10]] -\end{haskellcode} +\end{haskellcode*} \pause Now let's say we want all numbers between 50 and 100 that have the remainder 0 when divided by 12: \pause -\begin{haskellcode} +\begin{haskellcode*}{bgcolor=mygrey,frame=single,numbers=none,label=GHCi} > [x | x <- [50..100], mod x 12 == 0] -\end{haskellcode} +\end{haskellcode*} \code{x <- [50..100]} is the binding, while \code{mod x 12 == 0} is the predicate, separated by a comma. We can have multiple predicates. \ No newline at end of file diff --git a/common/beamer_configuration.tex b/common/beamer_configuration.tex index db4bc59..419b44c 100644 --- a/common/beamer_configuration.tex +++ b/common/beamer_configuration.tex @@ -13,22 +13,40 @@ \usepackage[T1]{fontenc} \usepackage[Q=yes]{examplep} +% color definition +\definecolor{solarized}{HTML}{002B36} +\definecolor{mygreen}{HTML}{009900} +\definecolor{mygrey}{rgb}{0.95,0.95,0.95} + % package configuration \DeclareGraphicsExtensions{.pdf,.png,.jpg} \beamertemplatenavigationsymbolsempty \setbeamertemplate{footline}[frame number] + +% minted +%% fix the minted@colorbg environment +\makeatletter +\renewenvironment{minted@colorbg}[1] + {\def\minted@bgcol{#1}% + \noindent + \begin{lrbox}{\minted@bgbox} + \begin{minipage}{\linewidth-2\fboxsep}} + {\end{minipage}% + \end{lrbox}% + \setlength{\topsep}{\smallskipamount}% set the vertical space + \trivlist\item\relax % ensure going to a new line + \colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}% + \endtrivlist % close the trivlist + } +\makeatother \usemintedstyle{friendly} -\newminted{haskell}{frame=single,numbers=left} -\newminted{cpp}{frame=single,numbers=left} -\newminted{c}{frame=single,numbers=left} +\newminted{haskell}{bgcolor=mygrey,frame=single,numbers=left} +\newminted{cpp}{bgcolor=mygrey,frame=single,numbers=left} +\newminted{c}{bgcolor=mygrey,frame=single,numbers=left} \renewcommand{\theFancyVerbLine}{\ttfamily \textcolor[rgb]{0.0,0.0,0.0}{\footnotesize \oldstylenums{\arabic{FancyVerbLine}}}} -% color definition -\definecolor{solarized}{HTML}{002B36} -\definecolor{mygreen}{rgb}{0,0.6,0} - % macros and environments \newcommand{\code}[1]{\texttt{#1}} \newcommand{\slidep}{\onslide<+->}