Discover the power that functional programming brings to your Scala code. This international bestseller has been revised with new exercises, annotations, and full coverage of Scala 3. In Functional Programming in Scala, Second Edition you will learn how to:
Recognize and write purely functional code Work with errors without using exceptions Work with state and concurrency Interact with functional structures that define common behaviours Write code that performs I/O without sacrificing functional programming
The first edition of Functional Programming in Scala, Second Edition has helped over 30,000 developers discover the power of functional programming. This second edition is fully updated to Scala 3 and the latest standards of FP. Inside, you'll find a serious tutorial for programmers looking to apply functional programming to improve their everyday coding practices. You'll progress from the basics to advanced topics in a logical, concise, and clear progression. Throughout, concrete examples and exercises open up the world of functional programming. about the technology Functional programming (FP) is a style of software development emphasizing functions that don't depend on program state. Functional code is easier to test and reuse, simpler to parallelize, and less prone to bugs than other code. Scala is a popular JVM language that offers strong support for FP. Its familiar syntax and transparent interoperability with Java make Scala a great place to start learning FP.
Inhaltsverzeichnis
table of contents detailed TOCPART 1: INTRODUCTION TO FUNCTIONAL PROGRAMMINGREAD IN LIVEBOOK1WHAT IS FUNCTIONAL PROGRAMMING?READ IN LIVEBOOK2GETTING STARTED WITH FUNCTIONAL PROGRAMMING IN SCALAREAD IN LIVEBOOK3FUNCTIONAL DATA STRUCTURESREAD IN LIVEBOOK4HANDLING ERRORS WITHOUT EXCEPTIONSREAD IN LIVEBOOK5STRICTNESS AND LAZINESSREAD IN LIVEBOOK6PURELY FUNCTIONAL STATEPART 2: FUNCTIONAL DESIGN AND COMBINATOR LIBRARIESREAD IN LIVEBOOK7PURELY FUNCTIONAL PARALLELISMREAD IN LIVEBOOK8PROPERTY-BASED TESTINGREAD IN LIVEBOOK9PARSER COMBINATORSPART 3: COMMON STRUCTURES IN FUNCTIONAL DESIGNREAD IN LIVEBOOK10MONOIDSREAD IN LIVEBOOK11MONADSREAD IN LIVEBOOK12APPLICATIVE AND TRAVERSABLE FUNCTORSPART 4: EFFECTS AND I/O13 EXTERNAL EFFECTS AND I/O14 LOCAL EFFECTS AND MUTABLE STATE15 STREAM PROCESSING AND INCREMENTAL I/O