Learning Functional Programming in Go

Learning Functional Programming in Go
Author: Lex Sheehan
Publsiher: Packt Publishing Ltd
Total Pages: 665
Release: 2017-11-24
Genre: Computers
ISBN: 9781787286047

Download Learning Functional Programming in Go Book in PDF, Epub and Kindle

Function literals, Monads, Lazy evaluation, Currying, and more About This Book Write concise and maintainable code with streams and high-order functions Understand the benefits of currying your Golang functions Learn the most effective design patterns for functional programming and learn when to apply each of them Build distributed MapReduce solutions using Go Who This Book Is For This book is for Golang developers comfortable with OOP and interested in learning how to apply the functional paradigm to create robust and testable apps. Prior programming experience with Go would be helpful, but not mandatory. What You Will Learn Learn how to compose reliable applications using high-order functions Explore techniques to eliminate side-effects using FP techniques such as currying Use first-class functions to implement pure functions Understand how to implement a lambda expression in Go Compose a working application using the decorator pattern Create faster programs using lazy evaluation Use Go concurrency constructs to compose a functionality pipeline Understand category theory and what it has to do with FP In Detail Functional programming is a popular programming paradigm that is used to simplify many tasks and will help you write flexible and succinct code. It allows you to decompose your programs into smaller, highly reusable components, without applying conceptual restraints on how the software should be modularized. This book bridges the language gap for Golang developers by showing you how to create and consume functional constructs in Golang. The book is divided into four modules. The first module explains the functional style of programming; pure functional programming (FP), manipulating collections, and using high-order functions. In the second module, you will learn design patterns that you can use to build FP-style applications. In the next module, you will learn FP techniques that you can use to improve your API signatures, to increase performance, and to build better Cloud-native applications. The last module delves into the underpinnings of FP with an introduction to category theory for software developers to give you a real understanding of what pure functional programming is all about, along with applicable code examples. By the end of the book, you will be adept at building applications the functional way. Style and approach This book takes a pragmatic approach and shows you techniques to write better functional constructs in Golang. We'll also show you how use these concepts to build robust and testable apps.

Learning Functional Programming in Go

Learning Functional Programming in Go
Author: Lex Sheehan
Publsiher: Unknown
Total Pages: 672
Release: 2017-11-24
Genre: Computers
ISBN: 1787281396

Download Learning Functional Programming in Go Book in PDF, Epub and Kindle

Function literals, Monads, Lazy evaluation, Currying, and moreAbout This Book* Write concise and maintainable code with streams and high-order functions* Understand the benefits of currying your Golang functions* Learn the most effective design patterns for functional programming and learn when to apply each of them* Build distributed MapReduce solutions using GoWho This Book Is ForThis book is for Golang developers comfortable with OOP and interested in learning how to apply the functional paradigm to create robust and testable apps. Prior programming experience with Go would be helpful, but not mandatory.What You Will Learn* Learn how to compose reliable applications using high-order functions* Explore techniques to eliminate side-effects using FP techniques such as currying* Use first-class functions to implement pure functions* Understand how to implement a lambda expression in Go* Compose a working application using the decorator pattern* Create faster programs using lazy evaluation* Use Go concurrency constructs to compose a functionality pipeline* Understand category theory and what it has to do with FPIn DetailFunctional programming is a popular programming paradigm that is used to simplify many tasks and will help you write flexible and succinct code. It allows you to decompose your programs into smaller, highly reusable components, without applying conceptual restraints on how the software should be modularized.This book bridges the language gap for Golang developers by showing you how to create and consume functional constructs in Golang.The book is divided into four modules. The first module explains the functional style of programming; pure functional programming (FP), manipulating collections, and using high-order functions. In the second module, you will learn design patterns that you can use to build FP-style applications. In the next module, you will learn FP techniques that you can use to improve your API signatures, to increase performance, and to build better Cloud-native applications. The last module delves into the underpinnings of FP with an introduction to category theory for software developers to give you a real understanding of what pure functional programming is all about, along with applicable code examples.By the end of the book, you will be adept at building applications the functional way.Style and approachThis book takes a pragmatic approach and shows you techniques to write better functional constructs in Golang. We'll also show you how use these concepts to build robust and testable apps.

Functional Programming in Go

Functional Programming in Go
Author: Dylan Meeus
Publsiher: Packt Publishing Ltd
Total Pages: 248
Release: 2023-03-10
Genre: Computers
ISBN: 9781801814300

Download Functional Programming in Go Book in PDF, Epub and Kindle

Leverage core functional programming (FP) concepts to write more maintainable and testable code in Go Purchase of the print or Kindle book includes a free PDF eBook Key FeaturesLearn functional programming techniques at the architectural level and use them to solve real-world problemsUnderstand how to think about code functionallyLearn about the trade-offs of functional programming and object-oriented programming (OOP) in GoBook Description While Go is a multi-paradigm language that gives you the option to choose whichever paradigm works best for the particular problem you aim to solve, it supports features that enable you to apply functional principles in your code. In this book, you'll learn about concepts central to the functional programming paradigm and how and when to apply functional programming techniques in Go. Starting with the basic concepts of functional programming, this Golang book will help you develop a deeper understanding of first-class functions. In the subsequent chapters, you'll gain a more comprehensive view of the techniques and methods used in functional languages, such as function currying, partial application, and higher-order functions. You'll then be able to apply functional design patterns for solving common programming challenges and explore how to apply concurrency mechanisms to functional programming. By the end of this book, you'll be ready to improve your code bases by applying functional programming techniques in Go to write cleaner, safer, and bug-free code. What you will learnGain a deeper understanding of functional programming through practical examplesBuild a solid foundation in core FP concepts and see how they apply to Go codeDiscover how FP can improve the testability of your code baseApply functional design patterns for problem solvingUnderstand when to choose and not choose FP conceptsDiscover the benefits of functional programming when dealing with concurrent codeWho this book is for If you are a Go engineer with a background in traditionally object-oriented languages such as Java or C++ and want to broaden your knowledge of functional programming, this book is for you.

Real World Functional Programming

Real World Functional Programming
Author: Tomas Petricek,Jonathan Skeet
Publsiher: Simon and Schuster
Total Pages: 989
Release: 2009-11-30
Genre: Computers
ISBN: 9781638353799

Download Real World Functional Programming Book in PDF, Epub and Kindle

Functional programming languages like F#, Erlang, and Scala are attractingattention as an efficient way to handle the new requirements for programmingmulti-processor and high-availability applications. Microsoft's new F# is a truefunctional language and C# uses functional language features for LINQ andother recent advances. Real-World Functional Programming is a unique tutorial that explores thefunctional programming model through the F# and C# languages. The clearlypresented ideas and examples teach readers how functional programming differsfrom other approaches. It explains how ideas look in F#-a functionallanguage-as well as how they can be successfully used to solve programmingproblems in C#. Readers build on what they know about .NET and learn wherea functional approach makes the most sense and how to apply it effectively inthose cases. The reader should have a good working knowledge of C#. No prior exposure toF# or functional programming is required. Purchase of the print book comes with an offer of a free PDF, ePub, and Kindle eBook from Manning. Also available is all code from the book.

Book of F

Book of F
Author: Dave Fancher
Publsiher: No Starch Press
Total Pages: 314
Release: 2014-03-01
Genre: Computers
ISBN: 9781593275525

Download Book of F Book in PDF, Epub and Kindle

F# brings the power of functional-first programming to the .NET Framework, a platform for developing software in the Microsoft Windows ecosystem. If you're a traditional .NET developer used to C# and Visual Basic, discovering F# will be a revelation that will change how you code, and how you think about coding. In The Book of F#, Microsoft MVP Dave Fancher shares his expertise and teaches you how to wield the power of F# to write succinct, reliable, and predictable code. As you learn to take advantage of features like default immutability, pipelining, type inference, and pattern matching, you'll be amazed at how efficient and elegant your code can be. You'll also learn how to: * Exploit F#'s functional nature using currying, partial application, and delegation * Streamline type creation and safety with record types and discriminated unions * Use collection types and modules to handle data sets more effectively * Use pattern matching to decompose complex types and branch your code within a single expression * Make your software more responsive with parallel programming and asynchronous workflows * Harness object orientation to develop rich frameworks and interact with code written in other .NET languages * Use query expressions and type providers to access and manipulate data sets from disparate sources Break free of that old school of programming. The Book of F# will show you how to unleash the expressiveness of F# to create smarter, leaner code.

Functional Programming in Scala

Functional Programming in Scala
Author: Paul Chiusano,Runar Bjarnason
Publsiher: Simon and Schuster
Total Pages: 457
Release: 2014-09-01
Genre: Computers
ISBN: 9781638353959

Download Functional Programming in Scala Book in PDF, Epub and Kindle

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

Grokking Functional Programming

Grokking Functional Programming
Author: Michal Plachta
Publsiher: Simon and Schuster
Total Pages: 518
Release: 2023-02-07
Genre: Computers
ISBN: 9781638350071

Download Grokking Functional Programming Book in PDF, Epub and Kindle

There’s no need to fear going functional! This friendly, lively, and engaging guide is perfect for any perplexed programmer. It lays out the principles of functional programming in a simple and concise way that will help you grok what FP is really all about. In Grokking Functional Programming you will learn: Designing with functions and types instead of objects Programming with pure functions and immutable values Writing concurrent programs using the functional style Testing functional programs Multiple learning approaches to help you grok each new concept If you’ve ever found yourself rolling your eyes at functional programming, this is the book for you. Open up Grokking Functional Programming and you’ll find functional ideas mapped onto what you already know as an object-oriented programmer. The book focuses on practical aspects from page one. Hands-on examples apply functional principles to everyday programming tasks like concurrency, error handling, and improving readability. Plus, puzzles and exercises let you think and practice what you're learning. You’ll soon reach an amazing “aha” moment and start seeing code in a completely new way. About the technology Finally, there’s an easy way to learn functional programming! This unique book starts with the familiar ideas of OOP and introduces FP step-by-step using relevant examples, engaging exercises, and lots of illustrations. You’ll be amazed at how quickly you’ll start seeing software tasks from this valuable new perspective. About the book Grokking Functional Programming introduces functional programming to imperative developers. You’ll start with small, comfortable coding tasks that expose basic concepts like writing pure functions and working with immutable data. Along the way, you’ll learn how to write code that eliminates common bugs caused by complex distributed state. You’ll also explore the FP approach to IO, concurrency, and data streaming. By the time you finish, you’ll be writing clean functional code that’s easy to understand, test, and maintain. What's inside Designing with functions and types instead of objects Programming with pure functions and immutable values Writing concurrent programs using the functional style Testing functional programs About the reader For developers who know an object-oriented language. Examples in Java and Scala. About the author Michal Plachta is an experienced software developer who regularly speaks and writes about creating maintainable applications. Table of Contents Part 1 The functional toolkit 1 Learning functional programming 2 Pure functions 3 Immutable values 4 Functions as values Part 2 Functional programs 5 Sequential programs 6 Error handling 7 Requirements as types 8 IO as values 9 Streams as values 10 Concurrent programs Part 3 Applied functional programming 11 Designing functional programs 12 Testing functional programs

Thinking Functionally with Haskell

Thinking Functionally with Haskell
Author: Richard Bird
Publsiher: Cambridge University Press
Total Pages: 357
Release: 2014-10-09
Genre: Computers
ISBN: 9781107087200

Download Thinking Functionally with Haskell Book in PDF, Epub and Kindle

This book introduces fundamental techniques for reasoning mathematically about functional programs. Ideal for a first- or second-year undergraduate course.