Hi Anton

On 24/giu/2013, at 18:10, Anton Vodonosov <avodono...@yandex.ru> wrote:

> 
>> 
>> To solve all related issue, I'm going to do some runtime detection on 
>> *features*: if last compile time usocket was compiled with or without 
>> :usocket-iolib but current load time the feature set is different, ASDF 
>> should re-compile all usocket source files instead, not just load previous 
>> FASLs.  (I'm not sure if ASDF have already provided such a feature, so let 
>> me also copy this mail to Faré, the ASDF maintainer)
>> 
>> I don't like the idea of creating a whole new ASDF system like 
>> "usocket-iolib", because that will require other packages to change their 
>> system definitions to benefit from this new work.  And the most important 
>> thing, whether to depend on IOlib is totally an internal fair of usocket: it 
>> doesn't change the programming interface at all.  And the choice on if user 
>> want to use native network support of IOlib-based network support on their 
>> current platforms, ONLY depends on if they like to load additional DLLs (by 
>> CFFI).   I always want usocket  to depend on nothing, so that we can easily 
>> patch those 24x7 lisp servers to upgrade the networking support smoothly.
> 
> I agree that the usocket clients (application and other libraries) should 
> work via the API and do not depend on particular implementation.
> What I suggest is to make the implementation switchable at runtime, instead 
> of compile time. I think the solution will be simpler and more flexible 
> solution.
> Up the the level that we can have at the same time in the same lisp image 
> both IOlib sockets and sockets based on the API provided by the Lisp 
> implementation.

It's possible to implement the runtime switches, and I admit this is a good 
idea when IOlib is being depended by usocket.   Now I think it's also possible 
to provide a standalone, new ASDF system "usocket-iolib", which *explicitly* 
make sure IOlib is used as backend.  But all my previous ideas should still 
work, there's no conflicts I can see.

> 
> Best regards,
> - Anton


Reply via email to