Here 2 examples of recursive anonymous functions based on previous example. Firstly, simple infinite loop:
InfiniteLoop = fun R() -> R() end.
Secondly, anonymous function doing loop over list:
LoopOverList = fun R() -> ok; R([H|T]) -> R(T) end.
These two functions could be rewritten as:
InfiniteLoop = fun loop/0.
In this case,
loop/0 is a reference to
loop/0 from remarks. Secondly, with little more complex:
LoopOverLlist = fun loop/2.
loop/2 is a reference to
loop/2 from list example. These two notations are syntactic sugar.