<br><div class="gmail_quote">On Tue, Sep 22, 2009 at 2:49 PM, Geoffrey S. Knauth <span dir="ltr"><<a href="mailto:geoff@knauth.org">geoff@knauth.org</a>></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'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 "it just works." For several years I've used C & FFI to talk to MySQL (David Van Horn'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'll look again at the 64- and 32-bit issues when I'm less pressed for time.<br>
</blockquote><div><br></div><div>That's an interesting angle that I have not encountered yet since I don't do FFI much. I agree with you that if it'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>