Hi. The call to loop() is a simply a recursive call. Functional languages are optimized to handle recursion efficiently, and Erlang is no exception.
I'm mostly an Erlang newbie, so I won't venture into guessing what the optimizations are, but I will say that virtually all Erlang code you write will include recursion in some form or another.
I'm glad you enjoyed the article. I need to dig up and dust off some code that I wrote that does simplified neural networking in Erlang. If I ever do that, you'll find it under an Erlang tag at http://metametta.blogspot.com