Hi all - <br><br>bzlib/thread provides additional concurrency constructs by building on top of PLT Scheme's concurrency primitives to help simplify programming in message passing style that Erlang has helped popularized. It specifically addresses multi-thread communications. The following are the constructs:<br>
<ul><li>receive/match - similar to Erlang; provides pattern-matching over thread-receive and an after clause. In addition, also integrates with PLT's events so you can use it to synchronize custom events as well. </li>
<li>thread-call - use this to send and wait for the response from the target thread<br></li><li>thread-reply - use this in the target thread to respond back to the sender <br></li><li>send-exn-to - use this to send back exceptions to the sender <br>
</li><li>thread-cast - use this to thread-send in kill-safe manner</li><li>make-application - create a simple OTP like application, with call and cast pattern <br></li><li>app-call - wrapper over thread-call with app<br></li>
<li>app-cast - wrapper over thread-cast with app <br></li></ul>To load - just require from planet: (require (planet bzlib/thread)).<br><br>You can find more details at <a href="http://weblambda.blogspot.com/2009/09/erlang-style-programming-in-plt.html">http://weblambda.blogspot.com/2009/09/erlang-style-programming-in-plt.html</a> - enjoy. <br>
<br>Cheers,<br>yc<br><br>