help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: Surprising behaviour of 'append' with string


From: Emanuel Berg
Subject: Re: Surprising behaviour of 'append' with string
Date: Sun, 06 Nov 2022 19:41:10 +0100
User-agent: Gnus/5.13 (Gnus v5.13)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]