<div class="gmail_quote">On Thu, Feb 26, 2009 at 4:00 PM, Ulf Wiger <span dir="ltr"><<a href="mailto:ulf.wiger@erlang-consulting.com">ulf.wiger@erlang-consulting.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
And this:<br>
<div class="Ih2E3d"><br>
 > {ok,Pid} = gen_server:start(my_mod,[],[]).<br>
 > Res = gen_server:call(Pid, {my_fun, Args}).<br>
 ><br>
 ><br>
 > compare this with Reia:<br>
 ><br>
 > Res = MyClass.MyMethod(Args)<br>
<br>
</div>is simply an apples and oranges comparison. You know<br>
very well (since you love Erlang) that the convention<br>
is to hide gen_server specifics behind a module API,<br>
so the honest comparison would be<br>
<br>
MyMod:MyFun(Args)<br>
<br>
vs<br>
<br>
MyClass.MyMethod(Args)<br>
<br>
I fail to see how one is very low level, and the<br>
other is not.<br>
</blockquote></div><br>Really what Reia offers here is a formalization of this convention into first-class syntax, so you needn't wrap gen_server in every module you use it with.  Reia's compiler does that for you.<br>
<br>-- <br>Tony Arcieri<br>