> On Thu, 27 Aug 2009 03:06:18 -0400, AntonioV <[email protected]>
>> I don't think any Scheme
>> user is "resistant" to have a standards-compliant "sockets" (XML/
>> Threads/etc) library!!

I am.

To give one example, a network package modeled upon Berkeley sockets is
far too primitive and low-level.  I don't even want to *know* about that kind of
detail.  I've seen far, far too many network programs that screw up because
it is rather difficult to write a good network program when all you have is
tin cans and string (that haven't even been tied together yet!).

Here's what I want:  if I'm using a network, I'm probably either
writing a client or
server (or peer).  There is a protocol to be followed (likely it has
been standardized).
I want to say very simply ``connect to that machine, use this protocol, and
perform this action''.  I do *not* want to allocate a SOCKADDR_IN, memset it,
setsockopt( TCP_NODELAY), gethostbyname(), select() read bytes, etc.

Similarly with threads.  These are a disaster.  It is very hard to program with
concurrency.  It is harder still if your concurrancy mechanism is something
as primitive as a thread.  In nearly every implementation of Common Lisp
I've worked on, they've made major errors in concurrency control.  And these
are the *vendors*.  The users have no hope of getting it right.

I don't know what the correct solution to concurrency is, but I'm sure we
can do better than a thread library.


-- 
~jrm

_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to