[trivial-gray-streams-devel] gray-treams for MCL and SCL (was: trivial-gray-streams becomes a separate project)

Chun Tian (binghe) binghe.lisp at gmail.com
Fri Jul 15 13:48:08 UTC 2011


My points:

1. SCL and MCL both have user-extensible stream support, but their stream class hierarchy are using different names from Gray Stream.

2. A Common Lisp implementation which doesn't support any user-extensible streams API cannot be patched to support Gray Stream, but this is not our case.

3. Current trivial-gray-streams basically map Gray Stream support from different packages into the same package (:trivial-gray-stream), but if the project also maps different stream classes names into the same class as defined by Gray Stream, it's still trivial.

4. SCL is commercial implementation, some customers may use old version, so a patch to SCL itself won't be a choice. This also applied to MCL, which many users are using old versions on legacy PowerPC systems.

5. There's no need to change SCL/MCL for every user application, which may not need Gray Streams at all. So, the loadable Gray Streams patch should only be applied when trivial-gray-streams are loaded,  and then this means the patch should live with trivial-gray-stream, i.e. being part of it.  As you can see, the patch changed some CL standard functions into CLOS generic functions, this may break old Lisp applications on MCL, but won't break new Lisp applications which based on trivial-gray-streams.

--binghe

在 2011-7-15,21:33, Anton Vodonosov 写道:

> 
> BTW, the main question is not to test the code works (As far as I understand you already tested it in the past).
> 
> Lets decide, if this code should be committed to trivial-gray-streams, or to MCL/SCL. 
> To me it looks like the latter is more appropriate, because gray streams is a way to extend system 
> functions like READ-CHAR, CLOSE, etc to work with user-defined streams.
> Therefore the extension interface should come with the implementation of READ-CHAR, CLOSE, etc. 
> 
> Also, if the code relies on, or needs to modify MCL/SCL internals (is it valid to 
> redefine COMMON-LISP:OPEN-STREAM-P to be generic function, while in MC it is a usual function),
> it is another argument for committing the code to MCL/SCL
> 
> Best regards,
> - Anton
> 
> 15.07.2011, 10:33, "Anton Vodonosov" <avodonosov at yandex.ru>;:
> 
>>  Ok, lets hold it for a while, because I am also bit busy now.
>> 
>>  Best regards,
>>  - Anton
>> 
>>  15.07.2011, 05:14, "Chun Tian (binghe)" <binghe.lisp at gmail.com>;;:
>>>   Hi, Anton
>>> 
>>>   I'm a little busy these days in other Lisp projects. I still believe the MCL/SCL support code works, I'll prove this in short future. If no others help me on this, I suggest holding this issue for now.
>>> 
>>>   Regards,
>>> 
>>>   Chun Tian (binghe)
>>  _______________________________________________
>>  trivial-gray-streams-devel mailing list
>>  trivial-gray-streams-devel at common-lisp.net
>>  http://lists.common-lisp.net/cgi-bin/mailman/listinfo/trivial-gray-streams-devel





More information about the trivial-gray-streams-devel mailing list