Functional Programming in Scala

Functional Programming in Scala

Author: Paul Chiusano

Publisher: Simon and Schuster

Published: 2014-09-01

Total Pages: 457

ISBN-13: 1638353956

DOWNLOAD EBOOK

Summary Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to the everyday business of coding. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. 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 an emerging 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. About the Book Functional Programming in Scala is a serious tutorial for programmers looking to learn FP and apply it to their everyday work. The book guides readers from basic techniques to advanced topics in a logical, concise, and clear progression. In it, you'll find concrete examples and exercises that open up the world of functional programming. This book assumes no prior experience with functional programming. Some prior exposure to Scala or Java is helpful. What's Inside Functional programming concepts The whys and hows of FP How to write multicore programs Exercises and checks for understanding About the Authors Paul Chiusano and Rúnar Bjarnason are recognized experts in functional programming with Scala and are core contributors to the Scalaz library. Table of Contents PART 1 INTRODUCTION TO FUNCTIONAL PROGRAMMING What is functional programming? Getting started with functional programming in Scala Functional data structures Handling errors without exceptions Strictness and laziness Purely functional state PART 2 FUNCTIONAL DESIGN AND COMBINATOR LIBRARIES Purely functional parallelism Property-based testing Parser combinators PART 3 COMMON STRUCTURES IN FUNCTIONAL DESIGN Monoids Monads Applicative and traversable functors PART 4 EFFECTS AND I/O External effects and I/O Local effects and mutable state Stream processing and incremental I/O


Programming Scala

Programming Scala

Author: Dean Wampler

Publisher: "O'Reilly Media, Inc."

Published: 2014-12-04

Total Pages: 498

ISBN-13: 1491950153

DOWNLOAD EBOOK

Get up to speed on Scala, the JVM language that offers all the benefits of a modern object model, functional programming, and an advanced type system. Packed with code examples, this comprehensive book shows you how to be productive with the language and ecosystem right away, and explains why Scala is ideal for today's highly scalable, data-centric applications that support concurrency and distribution. This second edition covers recent language features, with new chapters on pattern matching, comprehensions, and advanced functional programming. You’ll also learn about Scala’s command-line tools, third-party tools, libraries, and language-aware plugins for editors and IDEs. This book is ideal for beginning and advanced Scala developers alike. Program faster with Scala’s succinct and flexible syntax Dive into basic and advanced functional programming (FP) techniques Build killer big-data apps, using Scala’s functional combinators Use traits for mixin composition and pattern matching for data extraction Learn the sophisticated type system that combines FP and object-oriented programming concepts Explore Scala-specific concurrency tools, including Akka Understand how to develop rich domain-specific languages Learn good design techniques for building scalable and robust Scala applications


Functional Programming in Scala, Second Edition

Functional Programming in Scala, Second Edition

Author: Michael Pilquist

Publisher: Simon and Schuster

Published: 2023-06-20

Total Pages: 486

ISBN-13: 1617299588

DOWNLOAD EBOOK

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 behaviors Write code that performs I/O without sacrificing functional programming Functional Programming in Scala has helped over 30,000 developers discover the power of functional programming. You’ll soon see why reviewers have called it “mindblowing”! The book smooths the complexity curve of functional programming, making it simple to understand the basics and intuitive to progress to more advanced topics. Concrete examples and exercises show you FP in the real world and reveal how it can improve your everyday coding practices. This second edition comes packed with the latest standards of FP, as well as full code updates to Scala 3, and its new language features. Foreword by Daniel Spiewak. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Functional code is easy to test, reuse, and parallelize, and it’s practically immune to whole categories of state-related bugs. With its strong functional features, familiar syntax, and seamless interoperability with Java, there’s no better place to start learning functional programming than the flexible Scala language. About the Book In Functional Programming with Scala, Second Edition you’ll learn functional programming from first principles. Hands-on exercises and examples make it easy to start thinking and coding functionally. This revised edition contains extensive exercise annotations to help you explore FP in depth, along with steps to build your own functional libraries in Scala. Once the functional lightbulb goes on, you’ll never look at coding the same way again. What’s Inside Recognize and write purely functional code Work with errors without using exceptions Work with state and concurrency Interact with functional structures that define common behaviors About the Reader For Java or Scala programmers. No knowledge of functional programming required. About the Author Michael Pilquist is the lead maintainer of FS2, a functional streaming library, and contributes to the Typelevel ecosystem. Paul Chiusano and Rúnar Bjarnason are recognized experts in functional programming and authors of the first edition of Functional Programming with Scala. Table of Contents: PART 1 - INTRODUCTION TO FUNCTIONAL PROGRAMMING 1 What is functional programming? 2 Getting started with functional programming in Scala 3 Functional data structures 4 Handling errors without exceptions 5 Strictness and laziness 6 Purely functional state PART 2 - FUNCTIONAL DESIGN AND COMBINATOR LIBRARIES 7 Purely functional parallelism 8 Property-based testing 9 Parser combinators PART 3 - COMMON STRUCTURES IN FUNCTIONAL DESIGN 10 Monoids 11 Monads 12 Applicative and traversable functors PART 4 - EFFECTS AND I/O 13 External effects and I/O 14 Local effects and mutable state 15 Stream processing and incremental I/O


Scala Cookbook

Scala Cookbook

Author: Alvin Alexander

Publisher: "O'Reilly Media, Inc."

Published: 2013-08

Total Pages: 722

ISBN-13: 1449340334

DOWNLOAD EBOOK

Save time and trouble when using Scala to build object-oriented, functional, and concurrent applications. With more than 250 ready-to-use recipes and 700 code examples, this comprehensive cookbook covers the most common problems you’ll encounter when using the Scala language, libraries, and tools. It’s ideal not only for experienced Scala developers, but also for programmers learning to use this JVM language. Author Alvin Alexander (creator of DevDaily.com) provides solutions based on his experience using Scala for highly scalable, component-based applications that support concurrency and distribution. Packed with real-world scenarios, this book provides recipes for: Strings, numeric types, and control structures Classes, methods, objects, traits, and packaging Functional programming in a variety of situations Collections covering Scala's wealth of classes and methods Concurrency, using the Akka Actors library Using the Scala REPL and the Simple Build Tool (SBT) Web services on both the client and server sides Interacting with SQL and NoSQL databases Best practices in Scala development


Scala for the Impatient

Scala for the Impatient

Author: Cay S. Horstmann

Publisher: Pearson Education

Published: 2012-03-08

Total Pages: 385

ISBN-13: 0132761807

DOWNLOAD EBOOK

Scala is a modern programming language for the Java Virtual Machine (JVM) that combines the best features of object-oriented and functional programming languages. Using Scala, you can write programs more concisely than in Java, as well as leverage the full power of concurrency. Since Scala runs on the JVM, it can access any Java library and is interoperable with Java frameworks. Scala for the Impatient concisely shows developers what Scala can do and how to do it. In this book, Cay Horstmann, the principal author of the international best-selling Core Java™, offers a rapid, code-based introduction that’s completely practical. Horstmann introduces Scala concepts and techniques in “blog-sized” chunks that you can quickly master and apply. Hands-on activities guide you through well-defined stages of competency, from basic to expert. Coverage includes Getting started quickly with Scala’s interpreter, syntax, tools, and unique idioms Mastering core language features: functions, arrays, maps, tuples, packages, imports, exception handling, and more Becoming familiar with object-oriented programming in Scala: classes, inheritance, and traits Using Scala for real-world programming tasks: working with files, regular expressions, and XML Working with higher-order functions and the powerful Scala collections library Leveraging Scala’s powerful pattern matching and case classes Creating concurrent programs with Scala actors Implementing domain-specific languages Understanding the Scala type system Applying advanced “power tools” such as annotations, implicits, and delimited continuations Scala is rapidly reaching a tipping point that will reshape the experience of programming. This book will help object-oriented programmers build on their existing skills, allowing them to immediately construct useful applications as they gradually master advanced programming techniques.


Functional Programming in Scala, Second Edition

Functional Programming in Scala, Second Edition

Author: Michael Pilquist

Publisher: Simon and Schuster

Published: 2023-08-08

Total Pages: 486

ISBN-13: 1638351961

DOWNLOAD EBOOK

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 behaviors Write code that performs I/O without sacrificing functional programming Functional Programming in Scala has helped over 30,000 developers discover the power of functional programming. You’ll soon see why reviewers have called it “mindblowing”! The book smooths the complexity curve of functional programming, making it simple to understand the basics and intuitive to progress to more advanced topics. Concrete examples and exercises show you FP in the real world and reveal how it can improve your everyday coding practices. This second edition comes packed with the latest standards of FP, as well as full code updates to Scala 3, and its new language features. Foreword by Daniel Spiewak. About the Technology Functional code is easy to test, reuse, and parallelize, and it’s practically immune to whole categories of state-related bugs. With its strong functional features, familiar syntax, and seamless interoperability with Java, there’s no better place to start learning functional programming than the flexible Scala language. About the Book In Functional Programming with Scala, Second Edition you’ll learn functional programming from first principles. Hands-on exercises and examples make it easy to start thinking and coding functionally. This revised edition contains extensive exercise annotations to help you explore FP in depth, along with steps to build your own functional libraries in Scala. Once the functional lightbulb goes on, you’ll never look at coding the same way again. What’s Inside Recognize and write purely functional code Work with errors without using exceptions Work with state and concurrency Interact with functional structures that define common behaviors About the Reader For Java or Scala programmers. No knowledge of functional programming required. About the Author Michael Pilquist is the lead maintainer of FS2, a functional streaming library, and contributes to the Typelevel ecosystem. Paul Chiusano and Rúnar Bjarnason are recognized experts in functional programming and authors of the first edition of Functional Programming with Scala. Table of Contents: PART 1 - INTRODUCTION TO FUNCTIONAL PROGRAMMING 1 What is functional programming? 2 Getting started with functional programming in Scala 3 Functional data structures 4 Handling errors without exceptions 5 Strictness and laziness 6 Purely functional state PART 2 - FUNCTIONAL DESIGN AND COMBINATOR LIBRARIES 7 Purely functional parallelism 8 Property-based testing 9 Parser combinators PART 3 - COMMON STRUCTURES IN FUNCTIONAL DESIGN 10 Monoids 11 Monads 12 Applicative and traversable functors PART 4 - EFFECTS AND I/O 13 External effects and I/O 14 Local effects and mutable state 15 Stream processing and incremental I/O


Learning Scala

Learning Scala

Author: Jason Swartz

Publisher: "O'Reilly Media, Inc."

Published: 2014-12-11

Total Pages: 255

ISBN-13: 1449368840

DOWNLOAD EBOOK

Why learn Scala? You don’t need to be a data scientist or distributed computing expert to appreciate this object-oriented functional programming language. This practical book provides a comprehensive yet approachable introduction to the language, complete with syntax diagrams, examples, and exercises. You’ll start with Scala's core types and syntax before diving into higher-order functions and immutable data structures. Author Jason Swartz demonstrates why Scala’s concise and expressive syntax make it an ideal language for Ruby or Python developers who want to improve their craft, while its type safety and performance ensures that it’s stable and fast enough for any application. Learn about the core data types, literals, values, and variables Discover how to think and write in expressions, the foundation for Scala's syntax Write higher-order functions that accept or return other functions Become familiar with immutable data structures and easily transform them with type-safe and declarative operations Create custom infix operators to simplify existing operations or even to start your own domain-specific language Build classes that compose one or more traits for full reusability, or create new functionality by mixing them in at instantiation


Practical FP in Scala: a Hands-On Approach (2nd Edition)

Practical FP in Scala: a Hands-On Approach (2nd Edition)

Author: Gabriel Volpe

Publisher:

Published: 2021-09-13

Total Pages:

ISBN-13: 9781006514821

DOWNLOAD EBOOK

A book for intermediate to advanced Scala developers. Aimed at those who understand functional effects, referential transparency and the benefits of functional programming to some extent but who are missing some pieces to put all these concepts together to build a large application in a time-constrained manner.Throughout the chapters we will design, architect and develop a complete stateful application serving an API via HTTP, accessing a database and dealing with cached data, using the best practices and best functional libraries available in the Cats ecosystem such as Cats Effect, Fs2, Http4s, Skunk, Refined and others.You will also learn about common design patterns such as managing state, error handling and anti-patterns, all accompanied by clear examples. Furthermore, in the Bonus Chapter, we will dive into some advanced concepts such as MTL and Optics, and will explore Fs2 streams with a few interesting examples.A digital version is also available on LeanPub.


Get Programming with Scala

Get Programming with Scala

Author: Daniela Sfregola

Publisher: Simon and Schuster

Published: 2021-10-05

Total Pages: 950

ISBN-13: 1638352259

DOWNLOAD EBOOK

The perfect starting point for your journey into Scala and functional programming. Summary In Get Programming in Scala you will learn: Object-oriented principles in Scala Express program designs in functions Use types to enforce program requirements Use abstractions to avoid code duplication Write meaningful tests and recognize code smells Scala is a multi-style programming language for the JVM that supports both object-oriented and functional programming. Master Scala, and you'll be well-equipped to match your programming approach to the type of problem you're dealing with. Packed with examples and exercises, Get Programming with Scala is the perfect starting point for developers with some OO knowledge who want to learn Scala and pick up a few FP skills along the way. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the technology Scala developers are in high demand. This flexible language blends object-oriented and functional programming styles so you can write flexible, easy-to-maintain code. Because Scala runs on the JVM, your programs can interact seamlessly with Java libraries and tools. If you’re comfortable writing Java, this easy-to-read book will get you programming with Scala fast. About the book Get Programming with Scala is a fast-paced introduction to the Scala language, covering both Scala 2 and Scala 3. You’ll learn through lessons, quizzes, and hands-on projects that bring your new skills to life. Clear explanations make Scala’s features and abstractions easy to understand. As you go, you’ll learn to write familiar object-oriented code in Scala and also discover the possibilities of functional programming. What's inside Apply object-oriented principles in Scala Learn the core concepts of functional programming Use types to enforce program requirements Use abstractions to avoid code duplication Write meaningful tests and recognize code smells About the reader For developers who know an OOP language like Java, Python, or C#. No experience with Scala or functional programming required. About the author Daniela Sfregola is a Senior Software Engineer and a Scala user since 2013. She is an active contributor to the Scala Community, a public speaker at Scala conferences and meetups, and a maintainer of open-source projects. Table of Contents Unit 0 HELLO SCALA! Unit 1 THE BASICS Unit 2 OBJECT-ORIENTED FUNDAMENTALS Unit 3 HTTP SERVER Unit 4 IMMUTABLE DATA AND STRUCTURES Unit 5 LIST Unit 6 OTHER COLLECTIONS AND ERROR HANDLING Unit 7 CONCURRENCY Unit 8 JSON (DE)SERIALIZATION