<div>It sounds like what you want is just a way to create a closure, not "CPS" per se. Continuation Passing Style is a specific approach to slice workloads into separate function invocations; one use of which is to implement a poor man's threading system.</div>
<div> </div><div>You could use a fun that returns a function to execute with the values bound (a closure), or parameterized modules.</div><div> </div><div>make_function(Arg1, Arg2) -></div><div>  fun(Whatever) -></div>
<div>    Whatever * Arg1 + Arg2</div><div>  end.</div><div> </div><div>make_function_test() -></div><div>  A = make_function(1, 2),</div><div>  B = make_function(3, 4),</div><div>  3 = A(1),</div><div>  4 = A(2),</div>
<div>  7 = B(1).</div><div>  10 = B(2).</div><div><br clear="all"><br>--<br>Americans might object: there is no way we would sacrifice our living standards for the benefit of people in the rest of the world. Nevertheless, whether we get there willingly or not, we shall soon have lower consumption rates, because our present rates are unsustainable. <br>
<br>
<br><br></div><div class="gmail_quote">On Wed, Jul 27, 2011 at 3:05 AM, Guy Wiener <span dir="ltr"><<a href="mailto:wiener.guy@gmail.com">wiener.guy@gmail.com</a>></span> wrote:<br><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">
<div dir="ltr">In a normal scenario, I would prefer serial code, admittedly.<div>However, the scenario that I want to implement is the following: I want to retry the same piece of code several times, each time with a different settings.  The ways to do so are either making sure that each step in the code is a function (i.e., CPS), or exploiting callcc.</div>

<div>Other ideas?</div><div><br></div><div><font color="#888888">G.</font><div><div></div><div class="h5"><br><br><div class="gmail_quote">On Wed, Jul 27, 2011 at 7:23 AM, Jon Watte <span dir="ltr"><<a href="mailto:jwatte@gmail.com" target="_blank">jwatte@gmail.com</a>></span> wrote:<br>
<blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote">
<div><div>One of the biggest problems of CPS code in Twisted or Node or most other frameworks using that mechanism, is that it ends up with single-threaded servers, making poor use of multi-threaded hardware.</div>In Erlang, a process is comparable to the cost as a continuation with a function lambda in other languages (give or take a little bit, depending on specifics of implementation and use).</div>


<div>Write your code serially, in a process, and talk to it using messaging. It's easier to write, debug, and understand that way. Because of data being immutable, there is no risk of threading data hazards.</div><div>


 </div><div>Sincerely,</div><div> </div><div>jw<br clear="all"><br>--<br>Americans might object: there is no way we would sacrifice our living standards for the benefit of people in the rest of the world. Nevertheless, whether we get there willingly or not, we shall soon have lower consumption rates, because our present rates are unsustainable. <br>


<br>
<br><br></div><div class="gmail_quote"><div><div></div><div>On Tue, Jul 26, 2011 at 12:39 AM, Guy Wiener <span dir="ltr"><<a href="mailto:wiener.guy@gmail.com" target="_blank">wiener.guy@gmail.com</a>></span> wrote:<br>

</div></div><blockquote style="margin: 0px 0px 0px 0.8ex; padding-left: 1ex; border-left-color: rgb(204, 204, 204); border-left-width: 1px; border-left-style: solid;" class="gmail_quote"><div><div></div><div>
<div dir="ltr">Hello everyone,<div>Is there some equivalent to callcc (as in Scheme or Ruby) in Erlang?</div><div>Alt., is there some what to encourage Continuation-Passing Style programming in Erlang, other than just recommending that all consequent function calls will be in tail-call position?</div>



<div><br></div><div>Thanks,</div><div>  Guy</div></div>
<br></div></div>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br>
</blockquote></div><br></div></div></div></div>
<br>_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
<br></blockquote></div><br>