Subject: Re: strings and characters
From: Erik Naggum <>
Date: 2000/03/21
Newsgroups: comp.lang.lisp
Message-ID: <>

* Barry Margolin <>
| Wouldn't those characters be of type CHARACTER?  Mustn't a vector
| specialized to type CHARACTER be able to hold all objects of type
| CHARACTER?  Isn't such a vector a subtype of STRING?

  what was the _intent_ of removing string-char and making fonts and bits
  implementation-defined?  has that intent been carried forward all the way?

| Where does the standard ever give license for a value to change during
| assignment?

  16.1.2 Subtypes of STRING, and I qoute:

However, the consequences are undefined if a character is inserted into a
string for which the element type of the string does not include that
| Well, I was there and you weren't, so I think I can comment on the intent,
| to the best of my recollection.

  that's appreciated, but I must say I find "I was there and you weren't"
  to be amazingly childish as "arguments" go.

| What we wanted to remove from the standard were the API and UI that dealt
| with the nature of specific attributes.  We didn't want to distinguish
| these specific attributes (bits and fonts), which often didn't make sense
| in many implementations or applications.  But I don't think we intended
| to destroy the notion that attributes are part of the objects, and are
| thus included in assignments just like any attributes and slots of other
| data types.  They could get lost during I/O, due to the fact that the
| language can't specify the nature of external file formats, but as long
| as you stay within the Lisp environment they should stick.

  perhaps you, who were presumably there for the duration, could elaborate
  on the intended _consequences_ of the removal of the string-char type and
  the change to strings from being made up of a subtype of character that
  explicitly excluded fonts and bits to a character type that didn't need
  to include fonts and bits?