ƒfunctional·fluency
▸home·concept map

── tracks

AFundamentals0/5
  • Imperative vs declarative
  • Lisp syntax and homoiconicity
  • First-class functions
  • Immutability
  • Purity vs side effects
BCollections and data0/4
  • Persistent data structures
  • The seq abstraction
  • Destructuring
  • Data-oriented programming
CIntermediate0/5
  • Composition and point-free style
  • Threading macros
  • Recursion and recur
  • Lazy evaluation
  • Closures and memoization
DAdvanced Clojure0/5
  • Macros
  • Protocols and multimethods
  • Transducers
  • State: atoms, refs, agents
  • core.async channels
EFunctional ecosystem0/5
  • core.logic and logic programming
  • Datalog queries
  • Malli schemas
  • Generative testing with test.check
  • Gradual typing with core.typed
FDeep theory0/6
  • Lambda calculus
  • SKI combinators
  • Curry-Howard correspondence
  • The algebraic hierarchy
  • Lenses and optics
  • Recursion schemes
GConcurrency and systems0/5
  • CSP vs the actor model
  • Software Transactional Memory
  • CRDTs
  • Event sourcing
  • Functional reactive programming
HNeighboring paradigms0/5
  • Array programming (APL / J)
  • Parser combinators
  • Automatic differentiation
  • Probabilistic programming
  • Term rewriting
IApplied0/4
  • Refactoring imperative to functional
  • Functional core, imperative shell
  • Railway-oriented programming
  • JVM interop from Clojure
ƒfunctional·fluency
concept map

~ functionalfluency.dev

Functional Fluency

study FP · with Clojure

From λ-calculus and SKI combinators to transducers, CRDTs and core.async. Every concept ships with runnable Clojure — a REPL lives in your browser via SCI.

$ tracks

concept map →
  • AFundamentals5 topics

    Imperative vs declarative, Lisp syntax, first-class functions, immutability, purity.

  • BCollections and data4 topics

    Persistent data structures, structural sharing, seq, destructuring, data-oriented programming.

  • CIntermediate5 topics

    Higher-order functions, composition, threading, currying, recursion, closures, memoization.

  • DAdvanced Clojure5 topics

    Macros, protocols, transducers, atoms/refs/agents, core.async, Specter.

  • EFunctional ecosystem5 topics

    core.logic, Datalog, Malli, test.check, core.typed.

  • FDeep theory6 topics

    Lambda calculus, SKI, Curry-Howard, HoTT, algebraic hierarchy, optics, recursion schemes.

  • GConcurrency and systems5 topics

    CSP, pi-calculus, actor model, STM, CRDTs, event sourcing, FRP.

  • HNeighboring paradigms5 topics

    APL/J, parser combinators, autodiff, probabilistic programming, term rewriting.

  • IApplied4 topics

    Imperative-to-functional refactoring, functional core/imperative shell, railway, JVM interop.

● status

Phase 0 (foundation) complete. In-browser Clojure REPL is wired in via Scittle; lessons are MDX and ship as a static site.

ƒ functional · fluency — study FP with Clojure in your browser