Making It Lazy Never Evaluate Anything More Than Once - Code BEAM SF 2018

Put some more advanced features of Erlang to work by implementing lazy evaluation. First we find a way of being non-strict, so we only evaluate things by need, and then we find a way of memoising the results. We show how to build infinite, graphical and indeed cyclic data structures, using higher-order functions, macros and ETS tables.

OBJECTIVES

Learn some advanced functional programming techniques and see how they can be implemented in Erlang.

AUDIENCE

Anyone who would like to learn some neat functional programming tricks to use in Erlang or Elixir.