Subject: bug#70784: Abolish string resizing

From: Drew Adams <[email-masked]>
Date: Sun, 5 May 2024 18:09:38 +0000

> > > I'm not sure even that is a good idea for
> > > Emacs 30.  Let's see what others think.
> >
> > Next on Matthias's immutable list of
> > "improvements": doing away with mutable lists.
> > Poor Lisp.
> 
> Your opinions might be more important to
> read and consider if you drop the sarcasm.
> There are no enemies of Lisp here.

No one (except you) spoke of "enemies" of Lisp.

Without sarcasm: From Mattias in bug 70155 thread:

  Of course if you ask me, I'd prefer it if lists
  were guaranteed to be proper, immutable, with
  the empty list an object distinct from the symbol
  nil and the false boolean value. Maybe next year.

Was _that_ sarcasm, or was it straightforward?  I
took it at face value.  And coincidentally we now
see this string "enhancement" suggestion, along
the same line from the same friend.

My response to this line is "poor Lisp" (or "poor
Elisp") - without sarcasm.  And nothing personal.

OK, yes, Scheme is in the Lisp family, and its nil
is only the empty list, not also false.  (I'd say
"poor Lisp" there too, but not as strongly.)

And Clojure is often considered to be in the Lisp
family, and it uses immutable data more, including
lists.

Elisp is more related to Common Lisp.  And mutable
lists and dotted lists are _fundamental_ for this
part of the family (and for Scheme as well).
Nothing says "Lisp" more than its cons.

Proposing that Elisp lists be only _proper_ (never
dotted) and _immutable_ is a _radical_ departure
from Lisp.

I don't take that proposal as coming from any
"enemy of Lisp".  I don't see any enemies here
(do you?).  I'm not in favor of such a proposal;
that's all.

Likewise for the current proposal, to make strings
immutable (abolish string resizing).  That one
wasn't even on the "Maybe next year" list.  It's
apparently on the this-year list.

Just one opinion.