About Teaching Functional Programming

How do we learn you some Erlang? How do you learn a Haskell? Educating Elixir?
How to teach functional programming? What are the proper steps, beyond the first ones? Especially when you can't or don't want to point to a framework and say "we do it this way!"

Lars outlines his ideas for teaching Elixir to someone without requiring any prior programming experience.

There is also discussion of mapping, reducing, and representing one in terms of the other. Also things which are better in Haskell than Elixir, perfectly named modules, and - inevitably - why you don't just use Rust instead.

Links

Quotes
  • It felt like I cheated, I don't know if I did
  • In my bone marrow!
  • Putting the module before the functions
  • Try to explain a monad (there is no second step)
  • Pretend that the rest of computing doesn't exist
  • Ignore the rest of the world
  • Save brain cycles
  • Solid, sound, and true
  • It's going to have to be a reduce
  • I never really updated my map