Skip to content

devat19/functional-programming-learning-path

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

245 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Resources

Table of Content

Beginner

Concepts

  • Immutable Data
  • Higher Order Functions
  • Constructing and Destructuring
  • Function Composition
  • Function as First Class

Skills

  • Apply Higher Order Functions as filter, map, and reduce to immutable data structures
  • Destructure values to access their components
  • Pass lambdas to Higher Order Functions

Advanced Beginner

Concepts

  • Algebraic Data Types
  • Pattern Matching
  • Parametric Polymorphism
  • General Recursion
  • Type Classes, Instances, and Laws
  • Lower Order Abstractions (Equal, Semigroup, Monoid)
  • Referential Transparency & Totality
  • Partial Application, Currying & Point Free style

Skills

  • Process and transform data structures using recursion
  • Model a business domain with ADTs
  • Write functions that take and return functions
  • Reliably identify and isolate pure code from impure code

Foundation

Higher Order Functions

Immutability

Why Functional

Advanced Topics

Advanced Topics: Category Theory

Talks

Books

Declarative Programming

Blogs

Projects

Podcasts

Courses

Lists

Community

  • Richard Bird
  • Philip Wadler
  • Olivier Danvy
  • Andrzej Filinski
  • Daniel P. Friedman
  • Matthias Felleisen
  • J. Michael Ashley
  • R. Kent Dybvig
  • Erik Hilsdale

About

A Learning Path for Functional Programming

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Clojure 59.1%
  • JavaScript 35.8%
  • HTML 3.6%
  • Other 1.5%