I've put up version 0.2 of NET.SBCL.SOCKETS for download at
VERSION 0.1 --> 0.2:
- the name of the library is now NET.SBCL.SOCKETS.
- to be consistent with the name, the FEATURE has been changed to
:net.sbcl.sockets, as has the provided keyword.
- created a GNUmakefile
- in order to build the (dumped) library, 'make net-sbcl-sockets-lib'
has to be used. 'make sockets-lib' is still understood for backwards-
- reorganized sources: subdir "src".
- new testsuite in subdir "test".
- socket-error is a subclass of stream-error
- added support for an object-oriented framework:
There are mainly three types of "STREAM-SOCKETS", e.g. an
now a stream attached to it. Built upon the gray stream support, this
is very easy to use.
There are four types of sockets:
- PASSIVE-SOCKETS (listeners)
- CHARACTER-STREAM-SOCKETS (active sockets, that act as character
- BINARY-STREAM-SOCKETS (active sockets, binary sockets)
- BIVALENT-STREAM-SOCKETS (active sockets, that can do both character
Some extracts from the README:
[net.sbcl.sockets] is heavily based on CMUCL's "internet.lisp",
which was rewritten to work with SBCL. Some bugs were fixed, too.
The functionality of "internet.lisp" is still there in order to have
- backwards compatibility with code being ported from CMUCL,
- a suitable low-level interface.
NET.SBCL.SOCKETS is very easy to rebuild and maintain, because the code
needed for the FFI-interaction, is not hardwired into the system.
Instead it is configured according to the system configuration.
This is done portably by generating a C-program, that uses the system's
include-files, and outputs suitable definitions and declarations for
Since version 0.2 NET.SBCL.SOCKETS includes a higher level
STREAM-SOCKETS concept, where STREAM-SOCKET(s) and their behavior are
based on the gray-stream interface.
Therefore, it is possible to easily use these for character and binary
output. Using the BIVALENT-STREAM-SOCKET(s), it is even possible not to
distinguish between character and binary I/O and to use both
Martin Atzmueller <martin@...>