Hello World server in Erlang

#! /usr/bin/env escript
%%
%% Hello World server in Erlang
%% Binds REP socket to tcp://*:5555
%% Accepts any message, replies with "World"
%%

main(_) ->
{ok, Context} = erlzmq:context(),

%% Socket to talk to clients
{ok, Responder} = erlzmq:socket(Context, rep),
ok = erlzmq:bind(Responder, "tcp://*:5555"),

loop(Responder),

%% We never get here, but it we did, this is how we end
ok = erlzmq:close(Responder),
ok = erlzmq:term(Context).

loop(Responder) ->
%% Wait for request
{ok, Msg} = erlzmq:recv(Responder),
io:format("Received ~s~n", [Msg]),

%% Do some 'work'
timer:sleep(1000),

%% Send reply back to client
ok = erlzmq:send(Responder, @<@@[[/span]][[span style="color:#BA2121"]]"World"[[/span]][[span style="color:#666666"]]@@>@),
loop(Responder).