Edouard Manet: World Art Series Edouard Manet: World Art Series Изгои Средневековья. «Черные мифы» и реальность Изгои Средневековья. «Черные мифы» и реальность Неосфера 2053. Эпоха после блокчейн Неосфера 2053. Эпоха после блокчейн Атлас к путешествию капитана Беллинсгаузена в Южном Ледовитом океане и вокруг света в продолжении 1820 и 1821 годов Атлас к путешествию капитана Беллинсгаузена в Южном Ледовитом океане и вокруг света в продолжении 1820 и 1821 годов Проблема Секефальви-Надя в комбинаторной геометрии Проблема Секефальви-Надя в комбинаторной геометрии Ягелло Яков Владислав и первое соединение Литвы с Польшей Ягелло Яков Владислав и первое соединение Литвы с Польшей Малая Война: партизанство и диверсии Малая Война: партизанство и диверсии Еда, которая Вам действительно нужна Еда, которая Вам действительно нужна Растения в жизни человека Растения в жизни человека Книга о киевских богатырях. Свод 24 избранных былин древнекиевского эпоса Книга о киевских богатырях. Свод 24 избранных былин древнекиевского эпоса Русская геральдика.  История и описание русских гербов, с изображением всех дворянских гербов. Выпуск 3 Русская геральдика. История и описание русских гербов, с изображением всех дворянских гербов. Выпуск 3 Очерк тысячелетней борьбы балтийско-полабского славянства с немцами до возрождения сербо-лужицкого племени Очерк тысячелетней борьбы балтийско-полабского славянства с немцами до возрождения сербо-лужицкого племени Беларусiка. Albaruthenica. Выпуск 3 Беларусiка. Albaruthenica. Выпуск 3 Скорочтение. От 120 слов в минуту до 2 000 Скорочтение. От 120 слов в минуту до 2 000 Города Северо-восточной Руси XIV-XV веков Города Северо-восточной Руси XIV-XV веков Иудейские мифы. Книга Бытия Иудейские мифы. Книга Бытия
Edouard Manet: World Art Series Edouard Manet: World Art Series Изгои Средневековья. «Черные мифы» и реальность Изгои Средневековья. «Черные мифы» и реальность Неосфера 2053. Эпоха после блокчейн Неосфера 2053. Эпоха после блокчейн Атлас к путешествию капитана Беллинсгаузена в Южном Ледовитом океане и вокруг света в продолжении 1820 и 1821 годов Атлас к путешествию капитана Беллинсгаузена в Южном Ледовитом океане и вокруг света в продолжении 1820 и 1821 годов Проблема Секефальви-Надя в комбинаторной геометрии Проблема Секефальви-Надя в комбинаторной геометрии Ягелло Яков Владислав и первое соединение Литвы с Польшей Ягелло Яков Владислав и первое соединение Литвы с Польшей Малая Война: партизанство и диверсии Малая Война: партизанство и диверсии Еда, которая Вам действительно нужна Еда, которая Вам действительно нужна Растения в жизни человека Растения в жизни человека Книга о киевских богатырях. Свод 24 избранных былин древнекиевского эпоса Книга о киевских богатырях. Свод 24 избранных былин древнекиевского эпоса Русская геральдика.  История и описание русских гербов, с изображением всех дворянских гербов. Выпуск 3 Русская геральдика. История и описание русских гербов, с изображением всех дворянских гербов. Выпуск 3 Очерк тысячелетней борьбы балтийско-полабского славянства с немцами до возрождения сербо-лужицкого племени Очерк тысячелетней борьбы балтийско-полабского славянства с немцами до возрождения сербо-лужицкого племени Беларусiка. Albaruthenica. Выпуск 3 Беларусiка. Albaruthenica. Выпуск 3 Скорочтение. От 120 слов в минуту до 2 000 Скорочтение. От 120 слов в минуту до 2 000 Города Северо-восточной Руси XIV-XV веков Города Северо-восточной Руси XIV-XV веков Иудейские мифы. Книга Бытия Иудейские мифы. Книга Бытия
Категория: КНИГИ » ПРОГРАММИРОВАНИЕ
Functional Programming for Mortals with Cats in Scala
/
Functional Programming for Mortals with Cats in ScalaНазвание: Functional Programming for Mortals with Cats in Scala
Автор: Zara Turtle
Издательство: Leanpub
Год: 2020
Страниц: 265
Язык: английский
Формат: pdf (true), mobi, epub
Размер: 22.4 MB

Find out why everybody is talking about functional programming!

This book uses Typelevel Cats 2.1, the most popular Functional Programming framework for Scala. Typelevel has a wealth of accessible and idiomatic learning resources in a welcoming and safe environment. 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.

A computer is not necessary to follow along, but studying the Cats source code is encouraged. Some of the more complex code snippets are available with the book’s source code and those who want practical exercises are encouraged to (re-)implement Cats (and the example application) using the partial descriptions presented in this book.

For most developers, functional programming (FP) means using immutable data as much as possible, but mutable state is still a necessary evil that must be isolated and managed, e.g. with Akka actors or synchronized classes. This style of FP results in simpler programs that are easier to parallelise and distribute, an improvement over Java. But it is only scratching the surface of the benefits of FP, as we will discover in this book.

Scala also brings Future, making it easy to write asynchronous applications. But when a Future makes it into a return type, everything needs to be rewritten to accomodate it, including the tests, which are now subject to arbitrary timeouts.

Functional Programming is the act of writing programs with pure functions. Pure functions have three properties:
- Total: return a value for every possible input
- Deterministic: return the same value for the same input
- Inculpable: no (direct) interaction with the world or program state.

Together, these properties give us an unprecedented ability to reason about our code. For example, input validation is easier to isolate with totality, caching is possible when functions are deterministic, and interacting with the world is easier to control, and test, when functions are inculpable.

Скачать Functional Programming for Mortals with Cats in Scala







Комментарии 0
Комментариев пока нет. Стань первым!
Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.