Another interesting direction would be to use Matt Morrow&#39;s vaccum infrastructure to make a neat, almost completely general, serialization mechanism.<div><br></div><div>It&#39;s not safe, and can traverse any value that doesn&#39;t contain functions or unevaluated thunks, but would be very helpful for sending values like `cycle [1,2,3]` over the network. He and I were talking about writing such a library before he disappeared, but it doesn&#39;t seem terribly difficult if you have a good use for it.</div>
<div><br></div><div>Dan</div><div><br><div class="gmail_quote">On Fri, Aug 6, 2010 at 11:14 AM, Frank Kupke <span dir="ltr">&lt;<a href="mailto:frk@informatik.uni-kiel.de">frk@informatik.uni-kiel.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div style="word-wrap:break-word">Paul,<div>Yes, I use Read and Show to serialize. I thought of switching to Binary myself but could not find the time yet ;-) Now, a student here is going to work on that. Also, as TCP communication involves a lot of overhead, the library makes some efforts to reduce the amount of messages and makes message exchange itself quite efficient which resulted in a significant efficiency gain. But, there is definitely more optimization potential buried...</div>
<div><br></div><div>Frank<br><div><div>Am 06.08.2010 um 00:49 schrieb Paul Johnson:</div><div><div></div><div class="h5"><br><blockquote type="cite">
<div bgcolor="#ffffff" text="#000000">
Looks interesting.  One point: you seem to be using Read and Show
typeclasses for serialisation.  I think you would be better off using
Binary, which is much more efficient.<br>
<br>
Paul.<br>
<br>
On 03/08/10 09:35, Frank Kupke wrote:
<blockquote type="cite"><span style="font-family:Times">
  <pre><span style="white-space:normal"><font face="Helvetica" size="3"><span style="font-size:12px">Hi,</span></font></span></pre>
  </span><span style="font-family:Times">
  <pre><span style="white-space:normal"><div style="margin:0px;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;font-size:10.9px;line-height:normal;font-size-adjust:none;font-stretch:normal">
<font size="3"><span style="font-size:12px">DSTM is an implementation of a robust distributed Software Transactional Memory (STM) library for Haskell. Many real-life applications are distributed by nature. Concurrent applications may profit from robustness added by re-implementation as distributed applications. DSTM </span></font><span style="font-size:12px">extends the STM abstraction to distributed systems and presents an implementation efficient enough to be used in soft real-time applications. Further, the implemented library is robust in itself, offering the application developer a high abstraction level to realize robustness, hence, significantly simplifying this, in general, complex task.</span></div>
</span></pre>
  </span><span style="font-family:Times">
  <pre><span style="white-space:normal"><font face="Helvetica" size="3"><span style="font-size:12px">The DSTM package consists of the DSTM library, a name server application, and three sample distributed programs using the library. Provided are a simple Dining Philosophers, a Chat, and a soft real-time Bomberman game application. Distributed communication is transparent to the application programmer. The application designer uses a very simple name server mechanism to set up the system. The DSTM library includes the management of unavailable process nodes and provides the application with abstract error information thus facilitating the implementation of robust distributed application programs.</span></font></span></pre>

  </span><span style="font-family:Times">
  <pre><span style="white-space:normal"><font face="Helvetica" size="3"><span style="font-size:12px">For usage please look into the documentation file: DSTMManual.pdf.</span></font></span><font face="Helvetica" size="3"><span style="font-size:12px">

The package including the documentation can be found on:
<a href="http://hackage.haskell.org/package/DSTM-0.1.1" target="_blank">http://hackage.haskell.org/package/DSTM-0.1.1</a></span></font></pre>
  </span><span style="font-family:Times">
  <pre><font face="Helvetica" size="3"><span style="font-size:12px">
Best regards,
Frank Kupke</span></font></pre>
  <div><font face="Helvetica" size="3"><span style="font-size:12px"><br>
  </span></font></div>
  </span>
  <pre><fieldset></fieldset>
_______________________________________________
Haskell-Cafe mailing list
<a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a>
  </pre>
</blockquote>
<br>
</div>

_______________________________________________<br>Haskell-Cafe mailing list<br><a href="mailto:Haskell-Cafe@haskell.org" target="_blank">Haskell-Cafe@haskell.org</a><br><a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</blockquote></div></div></div><br></div></div><br>_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
<br></blockquote></div><br></div>