diff -r a25da86f7c8c -r ffe02fd574a5 handouts/ho02.tex --- a/handouts/ho02.tex Mon Aug 29 01:16:32 2022 +0200 +++ b/handouts/ho02.tex Mon Aug 29 08:26:59 2022 +0200 @@ -8,7 +8,7 @@ \begin{document} \fnote{\copyright{} Christian Urban, King's College London, - 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021} + 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022} \section*{Handout 2 (Regular Expression Matching)} @@ -336,7 +336,7 @@ \] \noindent Note on the left-hand side of the if-and-only-if we have a -function we can implement, ofr example in Scala; on the right we have +function we can implement, for example in Scala; on the right we have its specification (which we cannot implement in a programming language). The other function of our matching algorithm calculates a @@ -518,8 +518,8 @@ \lstinputlisting[numbers=left,linebackgroundcolor= {\ifodd\value{lstnumber}\color{capri!3}\fi}] {../progs/app5.scala} -\caption{A Scala implementation of \textit{nullable} and - derivative function. These functions are easy to +\caption{A Scala implementation of the \textit{nullable} and + the derivative function. These functions are easy to implement in functional programming languages. This is because pattern matching and recursion allow us to mimic the mathematical definitions very closely. Nearly all functional