unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Emanuel Berg <incal@dataswamp.org>
To: help-gnu-emacs@gnu.org
Subject: Re: Surprising behaviour of 'append' with string
Date: Sun, 06 Nov 2022 19:41:10 +0100	[thread overview]
Message-ID: <87y1soaptl.fsf@dataswamp.org> (raw)
In-Reply-To: 17b9a480-cff1-212e-7d8a-894285d03646@yahoo.de

R Diez wrote:

> Don't you think that 'append' and its documentation are not
> really user friendly? Its behaviour is not what you would
> normally expect. It doesn't make sense to join list elements
> with the first characters of strings.

Well, to the person who wrote it it did, but I don't know what
use case he had in mind.

> At least some example and/or warning about it would prevent
> unwary users

Sure, you can use `report-emacs-bug' for this.

> from wasting time and feeding the general sentiment that
> Emacs and Lisp are not user friendly.

Emacs and Lisp are maximalist systems that grow from
everywhere, at the same time, and always, such systems can be
perceived as chaotic to people who are not used to that
approach, which actually isn't that unusual, but such systems
are also more interesting and ultimately more powerful.

Also that power, in the sense there are several ways to do
things and everything is configurable thru the same interface
(Elisp and now to some extent C, with dynamic modules, even),
all that maybe doesn't feel user friendly but at the end of
the day it's a true pal.

>> Isn't it better to use a shell script language then?
>
> Whether shell is better than Lisp is debatable. But say I want
> to write the logic in shell. Then I would need to pass the
> information (flags and config settings) down from Emacs (where
> they live now), in form of command-line arguments, and that's
> the kind of routine I am looking for in order to help me do
> that, isn't it?

Shell script languages and Lisp are not really comparable,
script languages are useful for user-interaction when the user
uses the shell, also when a lot of shell tools and/or other
scripts are involved. Lisp OTOH is a general-purpose
programming language.

So while you can ask a script for some data from a Lisp
program, to use Lisp to put together shell commands to be
executed - that will only complicate things for no gain in
sight, it's not optimized for that, and why would it be?
The shell script languages are, or should be, or it's better
than doing it in Lisp anyway.

Note that there are Lisp shell languages as well! Lish (Lisp
as a shell) [1] - Lush (Lisp Universal Shell) [2] and
many other. However if you use Emacs you already have Lisp
(Emacs Lisp or Elisp) so I'd actually recommend doing the
shell in some POSIX-style extended shell, e.g. bash, ksh or
zsh ...

[1] https://www.cliki.net/Lisp%20as%20a%20shell
[2] https://lush.sourceforge.net/

-- 
underground experts united
https://dataswamp.org/~incal




  parent reply	other threads:[~2022-11-06 18:41 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <17b9a480-cff1-212e-7d8a-894285d03646.ref@yahoo.de>
2022-11-06 16:02 ` Surprising behaviour of 'append' with string R. Diez
2022-11-06 17:22   ` Stephen Berman
2022-11-06 18:41   ` Emanuel Berg [this message]
2022-11-07 18:05     ` Michael Heerdegen
2022-11-07 18:35       ` Emanuel Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87y1soaptl.fsf@dataswamp.org \
    --to=incal@dataswamp.org \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).