Sure. I don't mean my note as an counter argument to your approach. Just noting the funny situation with multiplied API we have in Lisp. BTW, Win32 socket API is based on BSD sockets.
24.06.2013, 14:37, "Chun Tian (binghe)" binghe.lisp@gmail.com:
You're right, and I want to support as much approaches as possible.
A obvious fact is, there're also platforms not based on BSD sockets, at least not pure. For example, all implementations on Win32, and MCL (based on OpenTransport), Lisp machines, and ABCL running in JVM. I want to support all of them. And for those Win32 users without an installed C compiler, they cannot load IOlib easily, but if they only want to make a TCP stream and send some data, shouldn't the exist usocket package be their best choice?
On 24/giu/2013, at 18:18, Anton Vodonosov avodonosov@yandex.ru wrote:
I also want to highlight the advantage of IOLib based sockets.
The underlying socket API provided by most of the OSes today is the same - BSD sockets. Various Lisp implementations multiply this basic API by proving their own, distinct lisp versions of socket APIs. On top of it we create a compatibility layer, to unify the API.
OSes: 1 API "BSD sockets" => Lisp impls: 10 APIs => usocket 1 API.
If we use some FFI library like IOLib to access OS socket APIs we avoid all these redundant 10 intermediate APIs.
Best regards, - Anton