Re: Building Extensions for STk

From: Drew Dean <ddean_at_CS.Princeton.EDU>
Date: Tue, 21 Feb 1995 17:28:27 -0500

Apologies if you get this twice -- Drew Dean

In message <>, Erick Gallesio writes:
>For instance, after having written the socket code I have seen that Aubrey
>Jaffer has integrated sockets in scm4e2 (scm4e2 seems to not be already
>officially released but I have seen it in Guile). To avoid to have different
>interfaces, I had a look of what is proposed in scm. It seems that every C
>socket function has bee implemented in C (i.e. socket, bin, gethostbyname, and
>all the others).
>IMHO, these routines are not at Scheme level even if they permit to do things
>which should be hard to do with the STk implementation of sockets (i.e. all
>sockets are
>AF_INET, sockets are streams one, you cannot parameter bind, ....).
>In my (very short) experience with sockets, most of the time the things I want
>to do was either to write a server, either write a client. Most of the C calls
>necessary for this task were a kind of "necessary folklore" and most of my
>programs share the same structure. This is this structure that I have tried to
>embody in the socket STk primitives. With actual version, you need to use only
>two primitives for making a server and one primitive call to make a client.It
>will probably not permit to do all the tasks you need with sockets but most of
>them (I hope).

Erick -- (and the rest of the list)
        Please forgive my rather long quote, but please do NOT provide only
the "useful" socket calls. In fact, if you write non-trivial applications,
you really do end up needing almost all of the system calls. Since I'm
trying to write as little C as possible these days, I really don't want to
have to add the missing calls back into Stk.
        However, this isn't meant to say that the BSD socket calls are the
only possible interface to sockets. If you think a higher level abstraction
(i.e. (connect "" "tcp" 25)) is better / more Scheme-like /
more useful for beginners / etc., please provide it. But please implement
it in Scheme, not in C (in the runtime system)! This way we can all be happy:
you'll have "easy to use" networking, and I'll have all the flexibility of
sockets (to do exactly what I want).

Drew Dean

Received on Tue Feb 21 1995 - 23:29:54 CET

This archive was generated by hypermail 2.3.0 : Mon Jul 21 2014 - 19:38:59 CEST