[usocket-devel] Scieneer Common Lisp

Chun Tian (binghe) binghe.lisp at gmail.com
Sat Oct 18 15:06:52 UTC 2008


Hi Douglas

Yes, the CMUCL port is already done. Though SCL is derived from CMUCL,  
the sockets API between them is a little different, some points I can  
list below (so far):

1) CMUCL already support basic UDP networking, it has three necessary  
UDP-related functions:

EXT:INET-SENDTO, EXT:INET-RECVFROM, EXT:INET-SHUTDOWN, just direct  
mapping of UNIX sendto(), recvfrom(), and shutdown()

SCL manual doesn't say about these functions, by actual running SCL, I  
think they're not exist (and should be added).

SCL already have EXT:CREATE-INET-SOCKET function, I think it's useless  
for TCP users because they usually only care a TCP connection as a  
stream. But for UDP networking, it's essential.

I should mention that: even SCL doesn't make any change, support UDP  
in SCL should be possible: we can always export these unix function  
through FFI (more code but should work), just like what I do for  
LispWorks (completely no UDP support in LW, but I wrote one from  
scratch).

2) The EXT:CONNECT-TO-INET-SOCKET function would be better if add two  
new keywords: LOCAL-HOST and LOCAL-PORT, this is not for UDP but TCP:  
sometimes user want to bind to specified local address/port when  
connect to remote address/port. Almost all other CL platform's sockets  
API support this. See following discuss on usocket mailing list:

	http://thread.gmane.org/gmane.lisp.usocket.devel/40

Days later, CMUCL author (Raymond Toy) added all I want in CMUCL  
2008-08 snapshot, see this link (cvs diff)

	http://common-lisp.net/cgi-bin/viewcvs.cgi/src/code/internet.lisp?root=cmucl&r1=1.54&r2=1.55

I hope SCL could make a similar code change like above (if possible).

Regards,

Chun Tian (binghe)

> Hello Chun,
>
> I would be happy to write the SCL port which would be easy if the  
> CMUCL
> port was already done?
>
> Regards
> Douglas Crosher
>
> Chun Tian (binghe) wrote:
>> Hi, Douglas
>>
>> Thanks very much! I'll investigate the SCL sockets API and give a  
>> report
>> days later, and tell you what to be added into SCL to support the new
>> USOCKET package with UDP.
>>
>> Regards,





More information about the usocket-devel mailing list