On Wed, Apr 30, 2008 at 1:55 PM, Jarrod Roberson <<a href="mailto:jarrod@vertigrated.com">jarrod@vertigrated.com</a>> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
start() -> spawn(fun loop/0).<br><br>I want to convert the above code snippet into a MFA, what is the correct syntax to do this.<br><br>I tried <span style="font-family: courier new,monospace;">start() -> spawn(?MODULE, fun loop/0, []).</span> and all I get when I call it is <span style="font-family: courier new,monospace;">** exception error: bad function 'area_server.start'</span><br>

<br>
</blockquote></div><br><br>I have also tried spawn(?MODULE, loop, []) and I get a warning that loop/0 is unused.<br><br>1> c(area_server).<br>./area_server.erl:16: Warning: function loop/0 is unused<br>{ok,area_server}<br>
2> P = area_server:start().<br><0.40.0><br><br>=ERROR REPORT==== 30-Apr-2008::15:20:53 ===<br>Error in process <0.40.0> with exit value: {undef,[{area_server,loop,[]}]}<br><br>3><br><br>here is the entire program.<br>
<br>-module(area_server).<br>-export([start/0, area/2]).<br><br>start() -> spawn(area_server, loop, []).<br><br>area(Pid, What) -><br>    rpc(Pid, What).<br><br>rpc(Pid, Request) -><br>    Pid ! {self(), Request},<br>
    receive<br>        {Pid, Response} -><br>            Response<br>    end.<br><br>loop() -><br>    receive<br>        {From, {rectangle, Width, Ht}} -><br>            From ! {self(), Width * Ht},<br>            loop();<br>
        {From, {circle, R}} -><br>            From ! {self(), 3.14159 * R * R},<br>            loop();<br>        {From, Other} -><br>            From ! {self(), {error, Other}},<br>            loop()<br>    end.<br>
<br><b>What I really need to know is how to MFA spawn a process around a function with no arguments.</b><br>