I’m excited to announce that I finished my book, * Functional Programming Made Easier: A Step-by-Step Guide*. By the end of this book, the reader will not only learn Functional Programming, but they will learn PureScript.

It would’ve come out sooner, but PureScript 14 was released right as I was finishing it. And unfortunately, I have the reader go to Pursuit many times to get them used to the process of looking up library functions and Pursuit has no way to show you only libraries from a single major release.

This book takes the reader from knowing zero about Functional Programming to writing a Full-Stack application using `HTTPure`

on the backend and `Halogen 6`

on the front-end.

Below is a list of some of what’s covered (in no particular order):

- Pure Functions
- Immutability
- Higher-order Functions
- Currying
- Partial Application
- Recursion
- Tail Recursion
- Pattern Matching
- Types

`Polymorphic`

`Monomorphic`

`Sum`

`Product`

- Typeclasses
- Multi-parametric Typeclasses
- Overlapping Instances
- Orphaned Instances
- Functional Dependencies
- Isomorphisms
- Homomorphisms
- Abstract Algebra

`Magma`

`Semigroup`

`Monoid`

`Group`

`Abelian Group (aka Commutative Group)`

`Semiring`

`Ring and Commutative Ring`

`Euclidean Ring`

- Folds
- Algebraic Data Types (ADT)
- Functors (Covariant, Contravariant, Invariant)
- Functors of Values vs Functions
- Bifunctors
- Profunctors
- Applicative Functors
- Traversables
- Foldables
- Applicative Parsers
- Monads
- Monadic Parsers
- Monad Stacks (aka Monad Transformers)
- Category Theory (superficially)

`Definition`

`Hask Category`

`Functors`

`Applicative`

`Kleisli Category`

Some of the skills it’ll teach you along the way are:

- Interpreting Compiler Errors
- Type Holes
- Effects (Synchronous and Asynchronous)
- AVars and Refs (Managed Global State)
- Data Bus
- Ajax
- JSON Decoding
- Foreign Function Interface (FFI)

From the exercises and final project you will learn:

- Hash Routing
- Static File Servers
- CORS
- Salt Hashing Passwords