Predgovor ix
Prvo poglavlje – Šta je funkcionalno programiranje? 1
Nepromenljivost 2
Referentna transparentnost 5
Funkcije višeg reda 7
Lenja evaluacija 8
Razmišljajte kao funkcionalni programer 9
Prednosti funkcionalnog programiranja 10
Funkcionalno programiranje može da unapredi produktivnost 11
Funkcionalno programiranje je zabavno! 11
Scala 12
Zaključak 13
Drugo poglavlje – Uvod u matematiku 15
Teorija skupova 15
Funkcije 16
Vrste funkcija 18
Osnove računarskih nauka 20
Anonimne funkcije 20
Funkcije kao objekti prve klase 21
Zaključak 21
Treće poglavlje – Teorija kategorija i obrasci 23
Obrasci zasnovani na teoriji kategorija 25
Kratak istorijat 26
Objekti i morfizmi 26
Primer kategorije 27
Kategorija Scal 31
Funktori 33
Formulisanje funktora u okviru programskog jezika 36
Obrasci 37
Obrazac Functor 38
Monoidi 39
Prirodne transformacije 41
Monade 43
Zaključak 45
Četvrto poglavlje – Funkcionalne strukture podataka 47
Struktura podataka Option 48
Struktura podataka Try 52
Struktura podataka Either 52
Funkcije višeg reda 54
Monade u for-konstrukcijama u Scali 55
Tradicionalne strukture podataka 57
Nepromenljivost i istorijat 57
Lenjost 58
Zaključak 58
Peto poglavlje – Još nešto o nepromenljivosti 59
Mutabilne i nemutabilne promenljive 59
Rekurzija 60
Primer povezane liste 61
Terminalna (tail) rekurzija 66
Još primera koji pokazuju kakvu moć ima fold u Scali 70
Veza između funkcije fold i monoida 71
Šta još možemo uraditi sa funkcijama višeg reda 74
Od map do flatMap 76
Zaključak 77
Šesto poglavlje – Pitanje konkurentnosti 79
Tokovi 83
Akka tokovi 83
Izvor 83
Protok 84
Izlaz 85
Još nešto o tokovima 85
FS2: Funkcionalni tokovi za Scalu 86
Zaključak 88
Sedmo poglavlje – Kuda ćemo dalje? 89
Ako krenemo čisto funkcionalnim putem 89
Monada IO 91
Ako krenemo srednjim putem 93
Jezici na Javinoj virtuelnoj mašini 93
.NET programski jezici 94
Klase tipova 94
Zaključak 99
Dodatak – Skala 101
Indeks 117
Recenzije
Još nema komentara.