Follow-up Comment #7, bug #40720 (group groff):

Over in bug #67735, I said:
>> It's necessary to nail down [the data type GNU _troff_ uses internally to
>> represent a character] to migrate the underlying representation type to
>> something wide enough to hold Unicode code points.  And that in turn is
>> necessary for resolution of bug #40720.

To which Dave replied:
> Not if that resolution is implemented as Ingo and I discuss in comments 4-6
> there.
> 
> (Not an argument against fixing this, just its relation to #40720.)

Unless I'm misunderstanding you and Ingo, `char star` is still a wider type,
both in a strictly literal sense (no version of Unix or C has ever existed
where `size of (char star)` == sizeof (unsigned char)`), and at a more
abstract level: a C-style string is like a vector, list, or array, the
elements of which integers.

(I had to say "star" in the foregoing to prevent the Savannah web UI from
mistaking my asterisks for emphasis markup.)

While I'm leaning away from the _mandoc_(1) approach partly for this
reason--at the level GNU _troff_ needs to work on characters, I think it
expects singleton items--the fact would remain that this internal type needs
to have an interface.

From another perspective, a stop on the route of this ticket's train to its
destination is reconceptualization of this same "internal type" in a
type-theoretic (and ultimately object-oriented, since C++ is the hammer we
have) sense.  We need to define what that type is and make explicit the
operations it supports.  Waving our hands at it and saying, "it's a small
integer, that's good enough", as C programmers are wont to do, is not good
enough.  For example, it makes no sense to multiply or divide character
codepoints.  But we can because underneath C++ is C, and underneath C, the
evil, typeless heart of B still beats after 55 years.

My opinion.


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?40720>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to