Forwarding rejected message.
I wasn't subscribed yet. Sorry.
bye,
Erik.
---------- Forwarded message ---------- From: Erik Huelsmann ehuels@gmail.com Date: Feb 25, 2007 2:38 PM Subject: Re: Portability of Drakma To: Edi Weitz edi@agharta.de Cc: drakma-devel@common-lisp.net
On 2/24/07, Edi Weitz edi@agharta.de wrote:
Hi Erik,
I'm sending a copy of this to the mailing list where I think we should continue this discussion.
Ah. Sorry about that, I wasn't aware of this list.
I've been working on a very portable library for sockets code. This library is now more portable than trivial-sockets and supports more functionality on all of its supported lisp implementations.
I'm aware of usockets' existence because Andreas Fuchs pointed it out to me shortly after I had released the portable version of Drakma (using trivial-sockets). At that point I tried to switch to usocket and immediately ran into problems - IIRC it didn't even load on LispWorks on Windows (although ISTR the website claimed that LispWorks was a supported implementation), and it couldn't provide binary socket streams for all supported implementations. So, I dismissed it for the time being.
That's both great and bad news: It's great you're aware of the usocket project, it's too bad you tried and failed.
It might well be the case that both of these issues have been fixed since, but I currently don't have the time to test again. I generally think it's better to rely on a maintained and documented library than on obscure and old code, but of course the new code should work at least as good as the old one.
Absolutely. New code shouldn't be a step backward. With that requirement, a chicken-and-egg problem is introduced though: to develop well-tested code, it needs to be (widely) used.
But to address your findings: you probably used one of the very first releases: With 0.3.0, binary streams are supported on all implementations. Next to that, I just downloaded and used LW5.0 to test a simple GET request: all seems to work well. Indeed have there been win32 related fixes to many backends.
I'd be happy to accept patches to switch Drakma from trivial-sockets to usocket, but the following criteria should be met:
The LispWorks code should remain untouched (i.e. not use usocket).
The code should have been tested successfully on at least the Lisp/OS combinations that are currently supported by Drakma.
Is there a list somewhere as a reference to what I'm getting into?
The actual patch itself should be a piece of cake, but I guess the testing will take some time.
Yes. Not having a Mac, I won't be able to test OpenMCL myself, but maybe others can assist there?
Thanks for your time.
bye,
Erik.