[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Encodings.



> Paul Schlie wrote:
>> But feel compelled to observe that once an object's internal representation
>> is formatted/encoded to/from whatever external representations form is
>> desired/required, it is then essentially in binary form; therefore binary
>> I/O actually represents the root common port format for of all I/O; where
>> more abstract ports may be thought of as merely munging on the data prior to
>> sending (or after receiving) it trough a binary port; which although it may
>> seem like a subtlety, if scheme were to view ports in this hierarchical way,
>> it could form the basis of a very flexible data transformation and I/O
>> architecture.

bear wrote:
> Central idea: Right.  If the binary port is primitive, then the
> various kinds of character ports can be provided as libraries.
> 
> I take issue with several of your "therefores" though; while I agree
> with your conclusions, I don't think that the internal representation
> of any kind of data is, or should be presumed to be, at all similar to
> that which passes through a binary port.

That's roughly my feeling too. I agree with some of his basic
conclusions, but I disagree with many of his reasons for them.

For example, I think it's splitting hairs to call it "binary I/O" when
you're reading or writing in the machine's native text format. In some
cases, it's downright misleading; for example, the native text format on
a VMS system is record-based and cannot be represented as a binary
stream.

Because of that, I think it's a mistake to claim that binary I/O is more
primitive than text I/O. On some systems, the two are entirely
orthogonal. For UNIX-like systems, you can implement text on top of
binary, but it's not generally possible. Something to keep in mind when
specifying port & string standards.
-- 
Bradd W. Szonye
http://www.szonye.com/bradd