-
-
Notifications
You must be signed in to change notification settings - Fork 420
Thinking Functionally
Paul Louth edited this page May 20, 2017
·
27 revisions
This series of posts will introduce you to the fundamentals of functional programming – what does it really mean to "program functionally", and how this approach differs from object oriented or imperative programming.
- Thinking Functionally: Introduction - A look at the basics of functional programming
- Mathematical functions - The impetus behind functional programming
- Function Values and Simple Values - Binding not assignment
- How types work with functions - Understanding the type notation
- Currying - Breaking multi-parameter functions into smaller one-parameter functions
- Partial application - Baking-in some of the parameters of a function
- Function composition - Building new functions from existing ones
- Combinators - Parsers and more
- Function signatures - A function signature can give you some idea of what it does
- What is LINQ really? - LINQ is used for collections right? Yes, but much, much more.
- Organizing functions - Nested functions and modules
- Attaching functions to types - Creating methods the language-ext way
- Worked example: A stack based calculator - Using combinators to build functionality
These series have been adapted from the excellent fsharpforfunandprofit site and is provided under the terms of CC BY 3.0.