{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# What's awesome about Functional Programming\n", "\n", "### You don’t solve different problems in FP.
But you solve them differently.\n", "\n", "
\n", "
\n", "\n", "Thomas Mahler | Senior IT Architect | ista International GmbH\n" ] }, { "attachments": { "image-2.png": { "image/png": "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QwIkQAIkQAIkQAL+QICiyx9WiWMkARIgARIgARIggUtAQHbVi2o7CvXbJanIJSnknl9QhDtb9NdS06S2UmAcvlm65RI8nV2SAAmQAAmQAAmQQPUToOiqfqbskQRIgARIgARIgAT8gsD9/x6sFT+X2kehVgyfsQLWkd85JFdnVZ/rjqf7YHvWYb+YDwdJAiRAAiRAAiRAAhRdfAdIgARIgARIgARI4HdK4F/2qc5aXBK9FWFHQLhN24WuYWcE1I1Fq64pv1M6nDYJkAAJkAAJkIA/EqDo8sdV45hJgARIgARIgARIoBoIyK58amfBqERtZ0CRXXKI5AqNxx8e6qwKc1fDo9gFCZAACZAACZAACVwWAhRdlwUzH0ICJEACJEACJEACvkdAdqB7tecMLX0xyIKACJuWtlg7GtfUT8ComSt9b9AcEQmQAAmQAAmQAAmUQ4Ciqxw4/IoESIAESIAESIAErnQCIrtGfrkCzWMm4u/P9cODLw/B+/1m4ce0nVf61Dk/EiABEiABEiCBK5AARdcVuKicEgmQAAmQAAmQAAlUlkBJaSmOncrH6fxzlb2V7UmABEiABEiABEjAZwhQdPnMUnAgJEACJEACJEACJEACJEACJEACJEACJEACVSFA0VUVeryXBEiABEiABEiABEiABEiABEiABEiABEjAZwhQdPnMUnAgJEACJEACJEACJEACJEACJEACJEACJEACVSFA0VUVeryXBEiABEiABEiABEiABEiABEiABEiABEjAZwhQdPnMUnAgJEACJEACJEACJEACJEACJEACJEACJEACVSFA0VUVeryXBEiABEiABEiABEiABEiABEiABEiABEjAZwhQdPnMUnAgJEACJEACJEACJEACJEACJEACJEACJEACVSHw/4jXC+fABLMWAAAAAElFTkSuQmCC" } }, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Learning a new paradigm:\n", "\n", "### So many new concepts, ideas, vocabulary, ...\n", "\n", "![image-2.png](attachment:image-2.png)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "> “functional programming is a programming paradigm where programs are constructed \n", "> by applying and composing functions. It is a declarative programming paradigm in which function definitions \n", "> are trees of expressions that each return a value, rather than a sequence of imperative statements which change \n", "> the state of the program.”\n", "\n", "- What does that mean?\n", "- How does it matter to developers?" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Functions are first class citizens\n", "\n", "Wikipedia: “In functional programming (**FP**), functions are treated as first-class citizens, meaning that\n", "\n", "1. they can be bound to names (including local identifiers),\n", "2. passed as arguments,\n", "3. and returned from other functions, just as any other data type can.\n", "\n", "This allows programs to be written in a declarative and composable style, where small functions are combined in a modular manner.”\n", "\n", "As this is at the core of FP, we’ll have a closer look at each of these 3 properties.\n", "All code-examples in this presentation are in the [Haskell language](https://www.haskell.org/). " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Functions can be bound to names (1)\n", "\n", "```haskell\n", "-- define constant `aNumber` as 42. -- | This is a comment\n", "aNumber :: Integer -- | This is a type signature\n", "aNumber = 42 -- | This is a definition\n", "\n", "-- define constant `aString` with a value of “Hello World“.\n", "aString :: String\n", "aString = \"Hello World\"\n", "```" ] }, { "cell_type": "code", "execution_count": null, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "-- define a function `square`: take an Integer argument and compute its square\n", "square :: Integer -> Integer\n", "square n = n ^ 2\n", "\n", "square 15\n", "\n", "-- define a function `double`: take an Integer argument and compute its double\n", "double :: Integer -> Integer\n", "double n = 2 * n\n", "\n", "double 15" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Passing functions as arguments (2)\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "-- predicate functions on integers\n", "even :: Integer -> Bool\n", "even n = n `rem` 2 == 0\n", "\n", "odd :: Integer -> Bool\n", "odd n = n `rem` 2 /= 0" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "14" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "49" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ifOddDouble :: Integer -> Integer\n", "ifOddDouble n = \n", " if odd n\n", " then double n\n", " else n\n", "\n", "ifOddSquare :: Integer -> Integer\n", "ifOddSquare n =\n", " if odd n\n", " then square n\n", " else n\n", " \n", "ifOddDouble 7\n", "ifOddSquare 7" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "slideshow": { "slide_type": "subslide" } }, "outputs": [ { "data": { "text/plain": [ "14" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "49" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ifOdd :: (Integer -> Integer) -> Integer -> Integer\n", "ifOdd growthFunction n =\n", " if odd n\n", " then growthFunction n\n", " else n\n", "\n", "ifOddDouble :: Integer -> Integer\n", "ifOddDouble = ifOdd double\n", "\n", "ifOddSquare :: Integer -> Integer\n", "ifOddSquare = ifOdd square\n", "\n", "ifOddDouble 7\n", "ifOddSquare 7 " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "`ifOdd` is called a **higher order function**,\n", "as it accepts another function as argument.\n", "\n", "Great, but now the customer wants functions that only act on even numbers. \n", "\n", "A function `ifEven :: (Integer -> Integer) -> Integer -> Integer`\n", "would have to repeat most of the existing code. \n", "\n", "We don‘t want to repeat ourselves, so we must also be able to pass in the predicate function…" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# OK, Time for some refactoring !\n", "\n", "```haskell\n", "ifPredGrow :: (Integer -> Bool) -- a predicate function (e.g. even)\n", " -> (Integer -> Integer) -- a growth function (e.g. double)\n", " -> Integer -- the input number\n", " -> Integer -- the output number\n", "ifPredGrow predicate growthFunction n =\n", " if predicate n\n", " then growthFunction n\n", " else n\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "```haskell\n", "ifEvenDouble :: Integer -> Integer\n", "ifEvenDouble n = ifPredGrow even double n\n", "\n", "ifEvenSquare :: Integer -> Integer\n", "ifEvenSquare n = ifPredGrow even square n\n", "\n", "ifOddDouble :: Integer -> Integer\n", "ifOddDouble n = ifPredGrow odd double n\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "\n", "## Awesome !\n", "\n", "\n", "Higher order functions like `ifPredGrow` form a template which can be used to implement concrete algorithms by filling in the blanks (i.e. The function arguments)\n", "\n", "Compare also to OO patterns Strategy and Template Method.\n", "\n", "- Helps to keep us DRY\n", "- reduces complexity.\n", "- All elements can be tested in isolation, which improves testability" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Returning functions as values (3)
A. function composition\n", "\n", "Function composition is an operation that takes two functions `f` and `g` and produces a function `h` such that `h(x) = g(f(x))`.\n", "\n", "The resulting composite function is denoted `h = g ∘ f` where `(g ∘ f )(x) = g(f(x))`.\n", "\n", "Intuitively, composing functions is a chaining process in which the output of function f is used as input of function g." ] }, { "attachments": { "image.png": { "image/png": "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" } }, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "![image.png](attachment:image.png)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "So looking from a programmers perspective the `∘` operator is a function that takes two functions as arguments and returns a new composite function. In an FP language it can be defined as:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "(∘) :: (b -> c) -> (a -> b) -> a -> c\n", "(g ∘ f) x = g (f x)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "where `g :: (b -> c)`, `f :: (a -> b)` and `x :: a`" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "10" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "square :: Integer -> Integer\n", "square n = n ^ 2\n", "\n", "add1 :: Integer -> Integer\n", "add1 x = x + 1\n", "\n", "add1AfterSquare :: Integer -> Integer\n", "add1AfterSquare = add1 ∘ square\n", "\n", "add1AfterSquare 3" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "## Awesome!\n", "Composition allows to build up complex functions from sequences of simpler functions.\n", "- This reduces (mental) complexity.\n", "- All elementary functions can be unit tested in isolation, which improves testability.\n", "- Improves maintainability of the code" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Returning functions as values (3)
B. Partial application\n", "\n", "```haskell\n", "-- function adding two numbers (add 2 3 -> 5)\n", "add :: Integer -> Integer -> Integer \n", "add a b = a + b\n", "```\n", "\n", "The type signature can be read as: \"A function taking an `Integer` argument and returning a function of type `Integer -> Integer\"`. \n", "\n", "Sounds weird? But that's exactly what most functional languages do internally. So if we call `add 2 3`, first `add` is applied to `2` which returns a new function of type `Integer -> Integer` which is then applied to 3.\n", "\n", "This technique is called **Currying**. Currying is widely used in FP as it allows another cool technique: **partial application**:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "12" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "add5 :: Integer -> Integer\n", "add5 = (+) 5\n", "\n", "add5 7" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "## Awesome !\n", "\n", "In FP *partial application* is frequently used to provide functions with configuration data or infrastructure access (e.g. db connections)." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Recursion and pattern matching\n", "\n", "Remember the factorial function from high school? For all $n \\in \\mathbb{N}_0$, $n!$ is defined as:\n", "\n", "```haskell\n", "0! = 1\n", "n! = n * (n-1)! \n", "```\n", "\n", "With our current knowledge we could implement it as follows (where the type `Natural` represents $\\mathbb{N}_0$):\n", "\n", "```haskell\n", "fac :: Natural -> Natural\n", "fac n =\n", " if n == 0\n", " then 1\n", " else n * fac (n - 1)\n", "```\n", "\n", "Most functional languages provide pattern matching, which allows to declare the function much closer to the original mathematical definition as a set of equations:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "3628800" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import GHC.Natural\n", "\n", "fac :: Natural -> Natural\n", "fac 0 = 1 \n", "fac n = n * fac (n - 1)\n", "\n", "fac 10" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "## Awesome !\n", "\n", "Code with pattern matching is easier to read, as it helps to avoid nested `if ... then ... else ...` constructs that analyze input parameters.\n", "\n", "Pattern matching not only works on numbers but on any other datatypes as well, we’ll see some of this in the section on Lists!" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Immutability, purity & equational reasoning\n", "\n", "FP languages provide **immutability**. That is, no value can ever be changed.\n", "There are thus no assigments operations. But what about the `=` sign? The `=` sign is not an assigment, but rather a definition as in mathematics, which declares two things to be identical.\n", "\n", "The defining clauses of the fac function can thus be understood as algebraic equations:\n", "\n", "```haskell\n", "fac :: Natural -> Natural\n", "fac 0 = 1 -- (a)\n", "fac n = n * fac (n - 1) -- (b)\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Using these equations we can use **equational reasoning** (aka. term rewrite rules) to understand how a functional program like `fac 2` is evaluated:\n", "\n", "```haskell\n", "fac 2 =\n", " = 2 * fac (2 - 1) -- expanding (b)\n", " = 2 * fac 1 -- computing 2 - 1\n", " = 2 * 1 * fac (1 - 1) -- expanding (b)\n", " = 2 * fac 0 -- computing 1-1=0 , 2*1=2\n", " = 2 * 1 -- expanding (a)\n", " = 2 -- computing 2*1=2\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "## Purity\n", "\n", "What if some part of the `fac` code would throw an exception during this evaluation?\n", "\n", "It would completely destroy our equational reasoning approach. So in addition to **Immutability** we need another property on our code to allow for equational reasoning, **Purity**! \n", "\n", "\n", "**Purity**: A function is called pure if it corresponds to a function in the mathematical sense: it associates each possible input value with an output value, and does nothing else. In particular,\n", "\n", "- it has no side effects, that is to say, invoking it produces no observable effect other than the result it returns; it cannot also e.g. write to disk, or print to a screen.\n", "- it does not depend on anything other than its parameters, so when invoked in a different context or at a different time with the same arguments, it will always produce the same result.\n", "\n", "A function like fac is pure, as it solely depends on input values not on anything external. " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "## Awesome !\n", "\n", "We can use the same notation that the code uses to reason about the program semantics ! \n", "So you‘ll find these kind of reasoning often in FP.\n", "\n", "What you can proof you don‘t have to test!\n", "\n", "Purity also improves testability: It is much easier to set up tests without worrying about mocks or stubs to factor out access to backend layers.\n", "\n", "This is why in FP you try to write as much pure code as possible and strictly separate it from code that has to interface to the outside world." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Lists\n", "\n", "Working with lists is fundamental to most FP languages. \n", "\n", "A list can either be the empty list (denoted by the data constructor `[]`) or some first element of a data type `a` followed by a list with elements of type `a`, denoted by `[a]`.\n", "This intuition is reflected in the following data type definition:" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "```haskell\n", "data [a] = [] | a : [a]\n", "```\n", "\n", "Please note infix cons operator `(:)` which is declared as a data constructor that builds a list from a single element of type `a` and a list of type `[a]`.\n", "\n", "The `|` separates the possible alternatives to build a List." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "A list containing the three numbers 1, 2, 3 is constructed like this:\n", "\n", "```haskell\n", "myList = 1 : 2 : 3 : []\n", "```\n", "\n", "Luckily most FP languages provide some syntactic sugar for lists so you can write it also as:\n", "\n", "```haskell\n", "myList = [1,2,3]\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Pattern Matching on Lists\n", "\n", "When working with lists we will typically use the two alternatives of the list data type definition for pattern matching:\n", "\n", "```haskell\n", "data [a] = [] | a : [a]\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "For example take the length function that determines the length of a list:\n", "\n", "```haskell\n", "length :: [a] -> Integer\n", "length [] = 0\n", "length (x:xs) = 1 + length xs\n", "```\n", "\n", "We can read these equations as: The length of the empty list `[]` is 0, and the length of a list, whose first element is `x` and with remainder `xs`, is 1 plus the length of `xs`." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "3" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "myList = [1,2,3]\n", "length myList" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Algebraic data types (ADTs)\n", "\n", "Most functional languages allows you to create arbitrary data types by combining sum types and product types. \n", "\n", "```haskell\n", "-- two simple sum types:\n", "data Status = Green | Yellow | Red\n", "data Severity = Low | Middle | High\n", "\n", "-- a simple product type\n", "data Tuple = Tuple Status Severity\n", "```\n", "\n", "The complete range of data types that can be constructed in this way is called **algebraic data types** or ADT in short.\n", "\n", "Using algebraic data types has several advantages:\n", "\n", "- Pattern matching can be used to analyze any concrete instance to select different behaviour based on input data. \n", "- Compilers can detect incomplete patterns matches or other flaws.\n", "- Compilers can automatically derive functionality for ADTs as they are constructed in such a regular way, thus avoiding boilerplate code." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Using higher order functions for abstraction
1. Mapping over a list\n", "\n", "```haskell\n", "-- compute squares for all list elements (squareAll [1,2,3] -> [1,4,9])\n", "squareAll :: [Integer] -> [Integer]\n", "squareAll [] = []\n", "squareAll (n:rest) = square n : squareAll rest\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "```haskell\n", "-- double all list elements (doubleAll [1,2,3] -> [2,4,6])\n", "doubleAll :: [Integer] -> [Integer]\n", "doubleAll [] = []\n", "doubleAll (n:rest) = double n : doubleAll rest\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "We don't want to repeat ourselves so we want something that captures the essence of mapping a function over a list:\n", "\n", "```haskell\n", "map :: (a -> b) -> [a] -> [b]\n", "map f [] = []\n", "map f (x:xs) = f x : map f xs\n", "```" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "[1,4,9,16]" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "-- now squareAll can be defined in terms of map:\n", "squareAll :: [Integer] -> [Integer]\n", "squareAll = map square\n", "\n", "squareAll [1,2,3,4]" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "## Awesome!\n", "\n", "We don‘t have to explain to the computer **how** to compute something.
\n", "Instead we just declare our intention, **what** we want to be computed.
\n", "This is called declarative style." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Using higher order functions for abstraction
2. folding / reducing a list\n", "\n", "```haskell\n", "-- sum up a list of numbers: (sum [1,2,3,4] -> 10)\n", "sum :: [Integer] -> Integer\n", "sum [] = 0\n", "sum (n:rest) = n + sum rest\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "```haskell\n", "-- compute the product of a list of numbers: (prod [1,2,3,4] -> 24)\n", "prod :: [Integer] -> Integer\n", "prod [] = 1\n", "prod (n:rest) = n * prod rest\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "```haskell\n", "-- foldr, applied to a binary operator (f), a starting value (z)\n", "-- (typically the right-identity of the operator), and a list, \n", "-- reduces the list using the binary operator, from right to left:\n", "foldr :: (a -> b -> b) -> b -> [a] -> b\n", "foldr f z [] = z\n", "foldr f z (x:xs) = f x (foldr f z xs)\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "Now we can define `sum` and `prod` as follows:\n", "\n", "```haskell\n", "sum :: [Integer] -> Integer\n", "sum = foldr (+) 0\n", "\n", "prod :: [Integer] -> Integer\n", "prod = foldr (*) 1\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Map/Reduce\n", "\n", "The combination of `map` and `foldr` is also known as map/reduce, which is a well established pattern to implement highly scalable data-analytics.\n", "\n", "The default implementation is simply called `foldMap`: \n", "\n", "```haskell\n", "foldMap :: Monoid m => (a -> m) -> [a] -> m\n", "foldMap f = foldr (mappend . f) mempty\n", "```" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "\"hello my friends\"" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "Sum {getSum = 55}" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "Product {getProduct = 14400}" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import Data.Monoid (Sum (..), Product (..))\n", "\n", "foldMap reverse [\" olleh\", \" ym\", \"sdneirf\"]\n", "\n", "-- Int is not a Monoid per se. (Sum Int) is the Monoid \"Int under addition\".\n", "foldMap (^2) ([1,2,3,4,5] :: [Sum Int]) \n", "\n", "-- (Product Int) is the Monoid \"Int under multiplication\".\n", "foldMap (^2) ([1,2,3,4,5] :: [Product Int]) " ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Lazy Evaluation / Evaluation on Demand" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "42" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "42" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "a = 0\n", "if a /= 0 then 10 `div` a else 42\n", "\n", "myIf :: Bool -> x -> x -> x\n", "myIf test a b = if test then a else b\n", "\n", "myIf (a /= 0) (10 `div` a) 42" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "1" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "0" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "-1" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "switch :: [(Bool, a)] -> a\n", "switch ((True, value):rest) = value\n", "switch ((False, value):rest) = switch rest\n", "\n", "sign x = \n", " switch [(x > 0 , 1)\n", " ,(x < 0 , -1)\n", " ,(True , 0)]\n", "\n", "sign 42\n", "sign 0\n", "sign (-23)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "## Awesome !\n", "\n", "Because of laziness we can define our own control flow structures, including exception handling. We don’t have to rely on mechanisms provided by the language.\n", "\n", "This is very hard - if not impossible - to implement in languages with call-by-value semantics which evaluates all function arguments before actually evaluating the function body." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Let‘s get even more lazy\n", "\n", "As an example we take Newton’s method to compute positive square roots $\\sqrt{a}$ for $a > 0$. \n", "The algorithm starts with some guess $x_1 > 0$ (say $\\frac{a}{2}$) and computes the sequence of improved guesses:\n", "$$x_{n+1} = \\frac{1}{2} \\left(x_n + \\frac{a}{x_n}\\right)$$\n", "This sequence is infinite, but luckily it converges quickly towards $\\sqrt{a}$." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "[8.0,5.0,4.1,4.001219512195122,4.0000001858445895,4.000000000000004,4.0,4.0,4.0,4.0]" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/plain": [ "1.414213562373095" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "next :: Double -> Double -> Double\n", "next a x_n = (x_n + a/x_n)/2\n", "\n", "sequence :: (a -> a) -> a -> [a]\n", "sequence f a = a : sequence f (f a)\n", "\n", "take 10 (sequence(next 16) 8)\n", "\n", "within :: Double -> [Double] -> Double\n", "within eps (a:b:rest) =\n", " if abs(a - b) <= eps \n", " then b\n", " else within eps (b:rest)\n", "\n", "root :: Double -> Double -> Double\n", "root a eps = within eps (sequence (next a) (a/2))\n", "\n", "root 2 1e-10" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "## Awesome!\n", "\n", "Because of laziness we can define potentially infinite data structures without producing infinite loops.\n", "\n", "This allows for example, to separate the sequencing from validating an approximation. \n", "E.g., we could easily swap in a different validation function that compares the ratio (and not the delta) of a and b." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Maybe we‘ve got a problem?\n", "\n", "The `Maybe` type is helpful in situations where certain operation may not always return a valid result. It is a simple way to avoid NullPointer errors or similar issues with undefined results. Thus, many languages have adopted this data type under different names. In Java for instance, it is called `Optional`:\n", "\n", "```haskell\n", "data Maybe a = Nothing | Just a\n", "```\n", "\n", "In FP, it is considered good practise to use **total functions** – that is functions that have defined return values for *all* possible input values – where ever possible to avoid runtime errors. (Using total functions greatly increases testability and maintainability of code).\n", "Typical examples for **partial** (i.e. non-total) functions are division and square roots. We can use **Maybe** to make them total:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "safeDiv :: Double -> Double -> Maybe Double\n", "safeDiv _ 0 = Nothing\n", "safeDiv x y = Just (x / y)\n", "\n", "safeRoot :: Double -> Maybe Double\n", "safeRoot x\n", " | x < 0 = Nothing\n", " | otherwise = Just (sqrt x)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "Another example is map lookup. When looking up a key in a list of key-value pairs there are two options: If the key is found, the associated value `val` is returned - but wrapped in a `Maybe`: `Just val`. If the key can’t be found, `Nothing` is returned:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "lookup :: String -> [(String,Double)] -> Maybe Double\n", "lookup key [] = Nothing\n", "lookup key ((x,y):xys)\n", " | key == x = Just y\n", " | otherwise = lookup key xys" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Working with Maybes\n", "\n", "Now let's consider a situation where we want to combine several of those functions. Say for example we first want to lookup the divisor from a key-value table, then perform a division with it and finally compute the square root of the quotient:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "Just 3.0" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "{- HLINT ignore -}\n", "findDivRoot :: Double -> String -> [(String, Double)] -> Maybe Double\n", "findDivRoot x key map =\n", " case lookup key map of\n", " Nothing -> Nothing\n", " Just y -> case safeDiv x y of\n", " Nothing -> Nothing\n", " Just d -> case safeRoot d of\n", " Nothing -> Nothing\n", " Just r -> Just r\n", "\n", "findDivRoot 27 \"v\" [(\"v\", 3), (\"k\", 4)]" ] }, { "attachments": { "grafik.png": { "image/png": "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" } }, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# The dreaded staircase\n", "\n", "This \"staircase\"-like code really looks awkward. Let's try to understand what's going on.\n", "\n", "In each single step we have to check for `Nothing`, in that case we directly short circuit to an overall `Nothing` result value. In the `Just` case we proceed to the next processing step. This kind of handling is repetitive and buries the actual intention under a lot of boilerplate. \n", "\n", "This logic is depicted in the following diagram:\n", "\n", "![grafik.png](attachment:grafik.png)" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# One Maybe `andThen` the next...\n", "\n", "So we are looking for a way to improve the code by abstracting away the chaining of functions that return `Maybe` values and providing a way to short circuit the Nothing cases without being so \"noisy\" when coding. \n", "\n", "We are looking for an operator `>>=` (speak “and then”) that takes the `Maybe` result of a first function application as first argument, and a function as second argument that will be used in the `Just x` case and again returns a `Maybe` result. In case that the input is `Nothing` the operator will directly return `Nothing` without any further processing. In case that the input is `Just x` the operator will apply the argument function `fun` to `x` and return its result:\n", "\n", "```haskell\n", "(>>=) :: Maybe a -> (a -> Maybe b) -> Maybe b\n", "Nothing >>= fun = Nothing\n", "(Just x) >>= fun = fun x\n", "```" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "subslide" } }, "source": [ "# Programming a semicolon\n", "\n", "We can then rewrite findDivRoot as follows:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "slideshow": { "slide_type": "fragment" } }, "outputs": [ { "data": { "text/plain": [ "Just 3.0" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "findDivRoot' :: Double -> String -> [(String, Double)] -> Maybe Double\n", "findDivRoot' x key map =\n", " lookup key map >>= \n", " safeDiv x >>= \n", " safeRoot\n", " \n", "findDivRoot' 27 \"v\" [(\"v\", 3), (\"k\", 4)]" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "fragment" } }, "source": [ "## Awesome!\n", "\n", "Wow, by introducing the `>>=` operator we just invented **Monads**! `Maybe` is a **Monadic Container**. `>>=` allows sequential execution of expressions (quite similar to a chain of statements in imperative languages that are separated by a semicolon).\n", "\n", "Thus `>>=` is sometimes also called a “programmable semicolon”, as its semantic can be defined by the programmer." ] }, { "attachments": { "grafik.png": { "image/png": "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" } }, "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Benefits of functional programming\n", "\n", "![grafik.png](attachment:grafik.png)\n", "\n", "**Using FP concepts will help to create better designs.**\n", "\n", "Designs that: \n", "\n", "- are more readable (due to their declarative character), \n", "- are closer to the problem domain (as intended by domain driven design), \n", "- allow equational reasoning (due to immutability & purity), \n", "- Highly scalable (immutability makes it easy to run many threads in parallel, see also map-reduce architecture)\n", "- will provide a rigid separation of business logic and side effects (e.g. hexagonal architecture, clean architecture), \n", "- are flexible for future changes or extensions (composition, higher order functions), \n", "- provide better testability (no mocking frameworks required. Supporting BDD, TDD and property based testing), \n", "- will need much less debugging (There are no NullPointerExceptions!), \n", "- are better to maintain (due to isolated side effects refactoring becomes much easier), \n", "- and, last but not least, will be more fun to write." ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Further readings\n", "\n", "- [Why Functional Programming matters](https://www.cs.kent.ac.uk/people/staff/dat/miranda/whyfp90.pdf): a classic paper from 1989/90. I‘ve incorporated several examples from this text into my presentation.\n", "\n", "- [How FP mattered](https://academic.oup.com/nsr/article/2/3/349/1427872): An update to \"Why FP matters\" from 2015.\n", "\n", "- [Why Haskell Matters](https://github.com/thma/WhyHaskellMatters/#readme): The extended version of my presentation. Many more code examples.\n", "\n", "- [Funktionale Programmierung geht auch mit Java!](https://www.sippsack.de/files/talks/Falk-Sippach-Functional-Java.pdf): This presentation shows how you can apply functional programming techniques in Java. (It also shows that adding those features on top of an imperative, OO language may look a bit clumsy…)\n", "\n", "- [Learn you a Haskell](http://learnyouahaskell.com/chapters): Very nice, moderately paced introduction to the language\n", "\n", "- [OO versus FP](https://blog.codota.com/object-oriented-dead-or-alive/): A recent blog post on the OO versus FP topic\n", "\n", "- [Reconciling concepts from FP and OOP](https://thma.github.io/posts/2020-12-20-reconciling-fp-and-oop-concepts.html) Looking at some underlying concepts of OOP and FP\n", "\n", "- [Why I prefer Functional Programming](https://www.haskellforall.com/2020/10/why-i-prefer-functional-programming.html): Very brief overview highlighting similar ideas as in my presentation" ] } ], "metadata": { "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Haskell", "language": "haskell", "name": "haskell" }, "language_info": { "codemirror_mode": "ihaskell", "file_extension": ".hs", "mimetype": "text/x-haskell", "name": "haskell", "pygments_lexer": "Haskell", "version": "8.8.4" } }, "nbformat": 4, "nbformat_minor": 4 }