Functional programming

The functional paradigm from the ground up: pure functions, immutability and statelessness, function types, first-class and higher-order functions, partial application and composition, map, filter and fold, list processing by head and tail, and why the style suits big data, ending with a robot that finds its way out using a pipeline of pure functions.

Module A13A level8 lessons

Start in the simulator
  1. A13.1 The functional paradigm Side effects, pure functions and referential transparency, immutability and statelessness, with the robot's side…
  2. A13.2 Function types and function application Functions as mappings, function type f: A to B, domain and co-domain, and function application with arguments from a…
  3. A13.3 First-class objects and higher-order functions Functions as values in variables, lists and dictionaries, passed as arguments and returned as results, lambdas,…
  4. A13.4 Partial application and composition Why every Haskell function takes one argument, partial function application, functools.partial, and composing…
  5. A13.5 Map, filter and fold The three higher-order functions, foldl and foldr, and a pipeline over a log of sensor readings.
  6. A13.6 List processing Lists as a head and a tail, the empty list, prepend and append, and recursion over a list to drive a route there and…
  7. A13.7 Functional programming and big data Volume, velocity and variety, why big data needs distributed processing, and how immutability, statelessness and…
  8. A13.8 Project: the way out Sweep the bay, decide with a pipeline of pure functions built by composition, map, filter and fold, then drive out.