Get Programming with F#


Book Description

Summary Get Programming with F#: A guide for .NET developers teaches F# through 43 example-based lessons with built-in exercises so you can learn the only way that really works: by practicing. The book upgrades your .NET skills with a touch of functional programming in F#. You'll pick up core FP principles and learn techniques for iron-clad reliability and crystal clarity. You'll discover productivity techniques for coding F# in Visual Studio, functional design, and integrating functional and OO code. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Your .NET applications need to be good for the long haul. F#'s unique blend of functional and imperative programming is perfect for writing code that performs flawlessly now and keeps running as your needs grow and change. It takes a little practice to master F#'s functional-first style, so you may as well get programming! What's Inside Learn how to write bug-free programs Turn tedious common tasks into quick and easy ones Use minimal code to work with JSON, CSV, XML, and HTML data Integrate F# with your existing C# and VB.NET applications Create web-enabled applications About the Reader Written for intermediate C# and Visual Basic .NET developers. No experience with F# is assumed. Table of Contents Unit 1 - F# AND VISUAL STUDIO Lesson 1 - The Visual Studio experience Lesson 2 - Creating your first F# program Lesson 3 - The REPL-changing how we develop Unit 2 - HELLO F# Lesson 4 - Saying a little, doing a lot Lesson 5 - Trusting the compiler Lesson 6 - Working with immutable data Lesson 7 - Expressions and statements Lesson 8 Capstone 1 Unit 3 - TYPES AND FUNCTIONS Lesson 9 - Shaping data with tuples Lesson 10 - Shaping data with records Lesson 11 - Building composable functions Lesson 12 - Organizing code without classes Lesson 13 - Achieving code reuse in F# Lesson 14 - Capstone 2 Unit 4 - COLLECTIONS IN F# Lesson 15 - Working with collections in F# Lesson 16 - Useful collection functions Lesson 17 - Maps, dictionaries, and sets Lesson 18 - Folding your way to success Lesson 19 - Capstone 3 Unit 5 - THE PIT OF SUCCESS WITH THE F# TYPE SYSTEM Lesson 20 - Program flow in F# Lesson 21 - Modeling relationships in F# Lesson 22 - Fixing the billion-dollar mistake Lesson 23 - Business rules as code Lesson 24 - Capstone 4 Unit 6 - LIVING ON THE .NET PLATFORM Lesson 25 - Consuming C# from F# Lesson 26 - Working with NuGet packages Lesson 27 - Exposing F# types and functionsto C# Lesson 28 - Architecting hybrid language applications Lesson 29 - Capstone 5 Unit 7 - WORKING WITH DATA Lesson 30 - Introducing type providers Lesson 31 - Building schemas from live data Lesson 32 - Working with SQL Lesson 33 - Creating type provider-backed APIs Lesson 34 - Using type providers in the real world Lesson 35 - Capstone 6 Unit 8 - WEB PROGRAMMING Lesson 36 - Asynchronous workflows Lesson 37 - Exposing data over HTTP Lesson 38 - Consuming HTTP data Lesson 39 - Capstone 7 Unit 9 - UNIT TESTING Lesson 40 - Unit testing in F# Lesson 41 - Property-based testing in F# Lesson 42 - Web testing Lesson 43 - Capstone 8 Unit 10 - WHERE NEXT? Appendix A - The F# community Appendix B - F# in my organization Appendix C - Must-visit F# resources Appendix D - Must-have F# libraries Appendix E - Other F# language feature




Programming F# 3.0


Book Description

Why learn F#? With this guide, you’ll learn how this multi-paradigm language not only offers you an enormous productivity boost through functional programming, but also lets you develop applications using your existing object-oriented and imperative programming skills. You’ll quickly discover the many advantages of the language, including access to all the great tools and libraries of the .NET platform. Reap the benefits of functional programming for your next project, whether you’re writing concurrent code, or building data- or math-intensive applications. With this comprehensive book, former F# team member Chris Smith gives you a head start on the fundamentals and walks you through advanced concepts of the F# language. Learn F#’s unique characteristics for building applications Gain a solid understanding of F#’s core syntax, including object-oriented and imperative styles Make your object-oriented code better by applying functional programming patterns Use advanced functional techniques, such as tail-recursion and computation expressions Take advantage of multi-core processors with asynchronous workflows and parallel programming Use new type providers for interacting with web services and information-rich environments Learn how well F# works as a scripting language




Book of F#


Book Description

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.




Real-World Functional Programming


Book Description

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.




Domain Modeling Made Functional


Book Description

You want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. In this pragmatic, down-to-earth guide, you'll see how applying the core principles of functional programming can result in software designs that model real-world requirements both elegantly and concisely - often more so than an object-oriented approach. Practical examples in the open-source F# functional language, and examples from familiar business domains, show you how to apply these techniques to build software that is business-focused, flexible, and high quality. Domain-driven design is a well-established approach to designing software that ensures that domain experts and developers work together effectively to create high-quality software. This book is the first to combine DDD with techniques from statically typed functional programming. This book is perfect for newcomers to DDD or functional programming - all the techniques you need will be introduced and explained. Model a complex domain accurately using the F# type system, creating compilable code that is also readable documentation---ensuring that the code and design never get out of sync. Encode business rules in the design so that you have "compile-time unit tests," and eliminate many potential bugs by making illegal states unrepresentable. Assemble a series of small, testable functions into a complete use case, and compose these individual scenarios into a large-scale design. Discover why the combination of functional programming and DDD leads naturally to service-oriented and hexagonal architectures. Finally, create a functional domain model that works with traditional databases, NoSQL, and event stores, and safely expose your domain via a website or API. Solve real problems by focusing on real-world requirements for your software. What You Need: The code in this book is designed to be run interactively on Windows, Mac and Linux.You will need a recent version of F# (4.0 or greater), and the appropriate .NET runtime for your platform.Full installation instructions for all platforms at fsharp.org.




Get Programming with Scala


Book Description

"For developers who know an OOP language like Java, Python, or C#. No experience with Scala or functional programming required"--Back cover.







F# in Action


Book Description

F# is engineered to make functional programming practical and accessible. This book will get you started writing your first simple, robust, and high performing functional code. F# lets you keep your code simple even in the most complex applications—and it’s the perfect language for taking your first steps in functional programming. This practical, example-driven guide shows you how to build professional applications the F# way. In F# in Action you will learn how to: Write performant and robust systems with succinct F# code Model domains quickly, easily and accurately with F#’s type system Design solutions using functional programming patterns Ingest and process disparate data sources Develop data-driven web applications Unit test F# code Effectively model data using a variety of techniques Use scripts to rapidly explore domains F# in Action is based on author and Microsoft F# MVP Isaac Abraham’s years of experience working with developers as an F# consultant. It upgrades .NET development skills with the core principles of functional programming, and you’ll soon see how F#’s functional-first approach makes it easy to learn this powerful paradigm. Forewords by Phillip Carter and Tomas Petricek. About the technology F# is a uniquely powerful programming language. Its “light touch” approach to functional programming helps you deliver error-free code without a lot of complex math and academic theory. Simply put, F# exists to help you write better software faster, and this book will show you how. About the book F# in Action teaches you to write professional quality applications in F#. For each concept, feature, and technique you’ll find hands-on examples, starting with simple data transformations and progressing all the way to a full-size web app. Throughout the book, you’ll take advantage of battle-tested .NET tools to take on a wide range of tasks—from data analysis to interoperability with C#. What's inside Model domains with F#’s type system Ingest and process disparate data sources Unit test F# code Use scripts to rapidly explore domains About the reader For readers comfortable with any OO or FP language. Prior .NET knowledge not required! About the author Isaac Abraham is an experienced .NET developer, trainer, and Microsoft MVP for his contributions to the .NET community. Technical editor on this book was Michael Ciccotti. Table of Contents 1 Introducing F# 2 Hands on with F# 3 F# Syntax Basics 4 F# Fundamentals 5 Shaping data 6 Functions and modules 7 Working with collections 8 Patterns and unions 9 Building rich domains 10 Working effectively with data 11 F# Interop 12 Asynchronous programming 13 Web programming 14 Testing F# code 15 Pure functional programming 16 Where next?




Cryptography and Coding


Book Description

This book constitutes the refereed proceedings of the 13th IMA International Conference on Cryptography and Coding, IMACC 2011, held in Oxford, UK in December 2011. The 27 revised full papers presented together with one invited contribution were carefully reviewed and selected from 57 submissions. The papers cover a wide range of topics in the field of mathematics and computer science, including coding theory, homomorphic encryption, symmetric and public key cryptosystems, cryptographic functions and protocols, efficient pairing and scalar multiplication implementation, knowledge proof, and security analysis.




Functional Programming with C#


Book Description

After decades of relative obscurity, functional programming is finally coming into its own. With concise, easy-to-read code that supports asynchronous, concurrent processing, aspects of functional programming have begun to appear in several traditionally object-oriented languages such as C# and Java. This practical book shows C# programmers how to use functional programming features without having to navigate an entirely new language. Because of the shared runtime environment common to C# and F# languages, it's possible to use most of F#'s functional features in C# as well. Author Simon J. Painter explains how you can write functional code in C# right away, without having to install dependencies or features newer than .NET 3. You'll learn why functional programming concepts can bring immediate benefit to your work. Learn what functional programming is and how it originated Discover features of the functional paradigm using a more familiar language Start coding functionally in C# right away, without relying on third-party libraries Write code that's more robust, less error prone, and easier to test Examine less conventional ways to look at structures available in C# Explore the practicalities of using functional C# in a business environment