Summary

  • Course by Brian Lonsdorf (Frontend Masters).
  • Covers mathematical functions, purity, effects, monads, and functional architecture patterns.
  • Use this material to build a dictionary of functional programming terms in my own words.
  • With GPT, I can practice rephrasing these terms in my style and prepare examples that feel natural for me to recall in interviews.

Functional Foundations

  • Pure Functions: total, deterministic, and free of side-effects.
  • Mathematical framing: every input → deterministic output.
  • Closure & Context: understanding how lexical scope and this behave in FP.
  • Effects: strategies to isolate I/O, randomness, or mutations.

Monads & Advanced Patterns

  • Learn to apply functors, applicatives, and monads in JavaScript.
  • Real problems in JS used to demonstrate FP abstractions.
  • Functional Architecture: composition, immutability, and controlled side-effects.

Personal Dictionary Project

  • Build a Markdown glossary from the course.
  • Each entry should follow this format:
Term: <keyword>  
Definition (in my words): <simple phrasing>  
Formal Definition: <course/book definition>  
Example: <JS snippet>  
Analogy: <real-world metaphor>  

Example

Term: Pure Function  
Definition (in my words): A function that never surprises me — same input, always same output.  
Formal Definition: A total function with no side-effects, deterministic mapping input → output.  
Example: (x) => x * 2  
Analogy: A vending machine that always gives you exactly one soda for one coin, no matter the day.  

Personal Notes

  • I want this dictionary at my fingertips to answer interview questions quickly.

  • Cross-link terms with other courses (Dev Eficiente — Máquina de Aprender, JavaScript Performance, Tidy First).

  • Use GPT to simulate interview Q&A with my dictionary terms, so I can rehearse explanations in my own voice.


Next Steps

  • Start with 10 key FP terms: Pure Function, Closure, Side-Effect, Higher-Order Function, Functor, Applicative, Monad, Composition, Immutability, Referential Transparency.

  • Expand to cover functional architecture patterns from the companion course Hardcore Functional Architecture in JavaScript.

  • Review weekly; refine examples with React/TypeScript and Go where applicable.


References