[r6rs-discuss] [Formal] need make-custom-textual-input-port and
make-custom-textual-output-port
John Cowan
cowan at ccil.org
Wed Mar 21 14:01:47 EDT 2007
Michael Sperber scripsit:
> Per Bothner <per at bothner.com> writes:
>
> > I guess in theory one might be able to wrap a transcoder around a
> > custom binary port but that seems horribly wrong when there is no
> > underlying byte stream.
>
> Why?
Because it presumes that the only sensible source of characters is
either a string or a underlying source of bytes (and ditto for sinks).
But this is not so. For example, I might have a (stateful) procedure
that picks a random letter from a given text represented as a string.
Surely it's more reasonable to wrap the procedure directly with
make-custom-textual-input-port rather than following the above two-step
procedure, with its conversion from characters to bytes to characters
again?
The same arguments apply for m-c-t-output-port and
m-c-t-input/output-port, of course. I presume that vectors of characters
should stand in for bytevectors in in the read! and write! procedures,
though strings might be a workable alternative.
--
John Cowan http://ccil.org/~cowan cowan at ccil.org
'My young friend, if you do not now, immediately and instantly, pull
as hard as ever you can, it is my opinion that your acquaintance in the
large-pattern leather ulster' (and by this he meant the Crocodile) 'will
jerk you into yonder limpid stream before you can say Jack Robinson.'
--the Bi-Coloured-Python-Rock-Snake
More information about the r6rs-discuss
mailing list