background-image: url(../img/fp-tower/website-background-white.svg) class: center, middle .title[.dark-green[Analysis of global temperature
Part 2]] --- # monoFoldLeft vs List foldLeft
--- # monoFoldLeft vs List foldLeft
--- # monoFoldLeft vs List foldLeft
--- # monoFoldLeft vs List foldLeft
--- # monoFoldLeft vs List foldLeft
--- # monoFoldLeft vs List foldLeft
--- # monoFoldLeft vs List foldLeft
--- # monoFoldLeft vs List foldLeft
--- # monoFoldLeft vs List foldLeft
--- class: center
.thirty-two-left[ # 0 + x == x # x + 0 == x ] -- .sixty-seven-right[ # combine(default, x) == x # combine(x, default) == x ] --- class: medium-code # monoFoldLeft is stable
--- class: medium-code # monoFoldLeft is stable
--- class: medium-code # monoFoldLeft is stable
--- class: medium-code # monoFoldLeft is stable
--- class: medium-code # monoFoldLeft is stable
--- class: medium-code # monoFoldLeft is stable .thirty-two-left[
] .sixty-seven-right[
```scala val partition1 = combine(combine(default, 4), 7) val partition2 = combine(default, 3) val finalResult = combine(combine(default, partition1), partition2) ```
```scala val partition1 = combine(default, 4) val partition2 = combine(combine(default, 7), 3) val finalResult = combine(combine(default, partition1), partition2) ``` ] --- class: medium-code # monoFoldLeft is stable .thirty-two-left[
] .sixty-seven-right[
```scala val partition1 = `combine`(`combine`(default, 4), 7) val partition2 = `combine`(default, 3) val finalResult = combine(combine(default, partition1), partition2) ```
```scala val partition1 = `combine`(default, 4) val partition2 = `combine`(`combine`(default, 7), 3) val finalResult = combine(combine(default, partition1), partition2) ``` ] --- class: medium-code # monoFoldLeft is stable .thirty-two-left[
] .sixty-seven-right[
```scala val partition1 = combine(combine(default, 4), 7) val partition2 = combine(default, 3) val finalResult = `combine`(`combine`(default, partition1), partition2) ```
```scala val partition1 = combine(default, 4) val partition2 = combine(combine(default, 7), 3) val finalResult = `combine`(`combine`(default, partition1), partition2) ``` ] --- class: medium-code # monoFoldLeft is stable .thirty-two-left[
] .sixty-seven-right[
```scala val partition1 = combine(`combine(default`, 4), 7) val partition2 = `combine(default`, 3) val finalResult = combine(`combine(default`, partition1), partition2) ```
```scala val partition1 = `combine(default`, 4) val partition2 = combine(`combine(default`, 7), 3) val finalResult = combine(`combine(default`, partition1), partition2) ``` ] --- class: medium-code # monoFoldLeft is stable .thirty-two-left[
] .sixty-seven-right[
```scala val partition1 = combine(4, 7) val partition2 = 3 val finalResult = combine(partition1, partition2) ```
```scala val partition1 = 4 val partition2 = combine(7, 3) val finalResult = combine(partition1, partition2) ``` ] --- # monoFoldLeft is stable .thirty-two-left[
] .sixty-two-right[
```scala combine(combine(4, 7), 3) ```
```scala combine(4, combine(7, 3)) ``` ] --- # Associative functions
.forty-seven-left[ ```scala (1 + (2 + 3)) == ((1 + 2) + 3) // res0: Boolean = true (1 min (2 min 3)) == ((1 min 2) min 3) // res1: Boolean = true ``` ]