ENGLISH

Functional programming for mortals, with scalaz

Book information

Publisher
Leanpub
Year
2018
Language
english
Format
PDF
Filesize
3 MB (3623582 bytes)
Pages
336\336
Time added
2018-08-26 05:53:26

Description

This version was published on 2018-08-24 This book is for the typical Scala developer, probably with a Java background, who is both sceptical and curious about the Functional Programming (FP) paradigm. This book justifies every concept with practical examples, including writing a web application. This book uses Scalaz 7.2¹, the most popular, stable, principled and comprehensive Functional Programming framework for Scala. This book is designed to be read from cover to cover, in the order presented, with a rest between chapters. Earlier chapters encourage coding styles that we will later discredit: similar to how we learn Newton’s theory of gravity as children, and progress to Riemann / Einstein / Maxwell if we become students of physics. Table of Contents......Page 3 About This Book......Page 7 Copyleft Notice......Page 8 Thanks......Page 9 Practicalities......Page 10 Introduction......Page 11 Abstracting over Execution......Page 12 Pure Functional Programming......Page 16 For Comprehensions......Page 18 Syntax Sugar......Page 19 Unhappy path......Page 24 Gymnastics......Page 26 Incomprehensible......Page 29 Application Design......Page 32 Specification......Page 33 Interfaces / Algebras......Page 35 Business Logic......Page 37 Unit Tests......Page 41 Parallel......Page 44 Summary......Page 46 Data and Functionality......Page 47 Data......Page 48 Functionality......Page 58 Modelling OAuth2......Page 66 Summary......Page 77 Scalaz Typeclasses......Page 78 Agenda......Page 79 Appendable Things......Page 80 Objecty Things......Page 84 Mappable Things......Page 87 Variance......Page 99 Apply and Bind......Page 101 Applicative and Monad......Page 107 Divide and Conquer......Page 110 Plus......Page 112 Lone Wolves......Page 116 Co-things......Page 119 Bi-things......Page 123 Summary......Page 126 Scalaz Data Types......Page 127 Type Variance......Page 128 Evaluation......Page 133 Memoisation......Page 135 Tagging......Page 137 Natural Transformations......Page 140 Isomorphism......Page 141 Containers......Page 143 Collections......Page 158 Summary......Page 181 Advanced Monads......Page 182 Always in motion is the Future......Page 183 Effects and Side Effects......Page 184 Stack Safety......Page 185 Monad Transformer Library......Page 190 A Free Lunch......Page 222 Parallel......Page 237 IO......Page 241 Summary......Page 248 Typeclass Derivation......Page 249 Running Examples......Page 250 scalaz-deriving......Page 251 Magnolia......Page 271 Shapeless......Page 281 Performance......Page 307 Summary......Page 312 Wiring up the Application......Page 313 Overview......Page 314 Main......Page 320 Blaze......Page 325 Thank You......Page 332 Typeclass Cheatsheet......Page 333 Third Party Licenses......Page 334 Scala License......Page 335 Scalaz License......Page 336

Similar books