[flexi-streams-devel] Re: [spr31726] Issue with flexi-streams

Edi Weitz edi at agharta.de
Wed Jun 14 18:24:31 UTC 2006


On Wed, 14 Jun 2006 11:02:13 -0700, "Charles A. Cox" <cox at franz.com> wrote:

>   Thanks for your report.
>
>   This is the first time I've heard of "flexi-streams".  From the
> description in your message, my first thought is that Allegro CL
> users are better off using Allegro CL streams since Allegro CL
> streams provide what "flexi-streams" purports to offer (bivalency,
> dynamically switchable external-formats, etc.).
>
>   Still, if I understand correctly, there is a specific question of
> how the :external-format slot is being initialized in subclasses of
> excl:fundamental-character-stream.  That class has a
> default-initargs which specifies :external-format.  Here is a
> simplified example to demonstrate what's happening:
>
>  (defclass my-stream ()
>    ((external-format :initarg :external-format)))
>
>  (defclass my-fundamental-character-stream (my-stream)
>    ()
>    (:default-initargs :external-format :default))
>
>  [your test case:]
>  (defclass foo (my-fundamental-character-stream)
>    ((bar :initarg :external-format
> 	 :initform (error "No external format."))))
>
>  (slot-value (make-instance 'foo) 'bar) ==> :default
>
>   Even though we may not be documenting the external-format slot in
> Allegro CL streams, we do document stream-external-format, which is
> an accessor to that slot.
>
>   My recommendation is that if flexi-streams implements an
> external-format separate from that of the base Lisp, that it then
> use a name other than "external-format".

Well, you've heard what they say - AllegroCL's streams are better
anyway... :)

My take still is that if AllegroCL provides classes that can be
subclassed and instantiated by user code, then they should either use
internal symbols for their initargs or, if they use keyword symbols,
they should document them.

Anyway, Franz' reaction doesn't really make me feel as if I should
hurry to make FLEXI-STREAMS work with AllegroCL.

Cheers,
Edi.



More information about the Flexi-streams-devel mailing list