<br><div class="gmail_quote">On Tue, Sep 22, 2009 at 2:49 PM, Geoffrey S. Knauth <span dir="ltr">&lt;<a href="mailto:geoff@knauth.org">geoff@knauth.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Sep 22, 2009, at 17:09, YC wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The key to develop a driver is that you need to either know the communication protocol + network development or the C driver + FFI.  Network-based (native scheme) has the advantage that it is pure scheme and it works with PLT&#39;s threads (FFI calls synchronize threads)<br>

</blockquote>
<br></div>
I encourage the pure Scheme approach.  I recently made the switch to (planet jaz/mysql:1:4) because &quot;it just works.&quot;  For several years I&#39;ve used C &amp; FFI to talk to MySQL (David Van Horn&#39;s perfectly good package) , but I recently got burned when I got a new Mac, reinstalled MySQL, found out it had a 64-bit library, while my C/FFI interface was 32-bit.  The problem was, I needed to be up again quickly, so I converted my client code to use the fairly new and very usable jaz/mysql PLaneT package.  I can talk to my database again.  I&#39;ll look again at the 64- and 32-bit issues when I&#39;m less pressed for time.<br>
</blockquote><div><br></div><div>That&#39;s an interesting angle that I have not encountered yet since I don&#39;t do FFI much.  I agree with you that if it&#39;s a network database, pure scheme approach should be considered first. </div>
<div><br></div><div>Cheers,</div><div>yc</div><div><br></div></div>