Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying Soar with Haskell
  • Table Of Contents Toc
Soar with Haskell

Soar with Haskell

By : Schrijvers
4.8 (4)
close
close
Soar with Haskell

Soar with Haskell

4.8 (4)
By: Schrijvers

Overview of this book

With software systems reaching new levels of complexity and programmers aiming for the highest productivity levels, software developers and language designers are turning toward functional programming because of its powerful and mature abstraction mechanisms. This book will help you tap into this approach with Haskell, the programming language that has been leading the way in pure functional programming for over three decades. The book begins by helping you get to grips with basic functions and algebraic datatypes, and gradually adds abstraction mechanisms and other powerful language features. Next, you’ll explore recursion, formulate higher-order functions as reusable templates, and get the job done with laziness. As you advance, you’ll learn how Haskell reconciliates its purity with the practical need for side effects and comes out stronger with a rich hierarchy of abstractions, such as functors, applicative functors, and monads. Finally, you’ll understand how all these elements are combined in the design and implementation of custom domain-specific languages for tackling practical problems such as parsing, as well as the revolutionary functional technique of property-based testing. By the end of this book, you’ll have mastered the key concepts of functional programming and be able to develop idiomatic Haskell solutions.
Table of Contents (23 chapters)
close
close
Lock Free Chapter
1
Part 1:Basic Functional Programming
6
Part 2: Haskell-Specific Features
11
Part 3: Functional Design Patterns
16
Part 4: Practical Programming

Anonymous functions

The first feature we will study to facilitate writing custom functions, usually as parameters for HOFs, are anonymous functions. These are also called lambda functions or lambda abstractions after their origin in the lambda calculus.

We will illustrate the concept of an anonymous function using the dropSpaces example from this chapter’s introduction. The local definition of its isSpaceCharacter function takes up two additional lines (or one if we omit the optional type signature). Moreover, it has to be given a name, which, while useful for documentation purposes, takes some effort. This effort has very little benefit, as the function is only called once, right where it is defined. Hence, the effort cannot be amortized over multiple call sites.

Anonymous function syntax

An anonymous function is a function that is not given a name. Hence, when referring to such a nameless function, we have to supply its definition instead. The nameless version of...

CONTINUE READING
83
Tech Concepts
36
Programming languages
73
Tech Tools
Icon Unlimited access to the largest independent learning library in tech of over 8,000 expert-authored tech books and videos.
Icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Icon 50+ new titles added per month and exclusive early access to books as they are being written.
Soar with Haskell
notes
bookmark Notes and Bookmarks search Search in title playlist Add to playlist download Download options font-size Font size

Change the font size

margin-width Margin width

Change margin width

day-mode Day/Sepia/Night Modes

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY

Submit Your Feedback

Modal Close icon
Modal Close icon
Modal Close icon