From: Christopher Dimech <dimech@gmx.com>
To: Drew Adams <drew.adams@oracle.com>
Cc: Jeremy Bryant <jb@jeremybryant.net>, Eli Zaretskii <eliz@gnu.org>,
"emacs-devel@gnu.org" <emacs-devel@gnu.org>,
"rms@gnu.org" <rms@gnu.org>
Subject: [External] : Emacs website, Lisp, and other
Date: Wed, 7 Aug 2024 00:26:39 +0200 [thread overview]
Message-ID: <trinity-5493b964-25f0-432a-adfd-44c490495185-1722983199565@3c-app-mailcom-bs08> (raw)
In-Reply-To: <BLAPR10MB5219692C7A9F536BCA442ABDF3BF2@BLAPR10MB5219.namprd10.prod.outlook.com>
> Sent: Wednesday, August 07, 2024 at 8:35 AM
> From: "Drew Adams" <drew.adams@oracle.com>
> To: "Christopher Dimech" <dimech@gmx.com>, "Jeremy Bryant" <jb@jeremybryant.net>
> Cc: "Eli Zaretskii" <eliz@gnu.org>, "emacs-devel@gnu.org" <emacs-devel@gnu.org>, "rms@gnu.org" <rms@gnu.org>
> Subject: RE: [External] : Emacs website, Lisp, and other
>
> > A balanced documentation example would be:
> >
> > Emacs Lisp (Elisp) is a dialect of the Lisp
> > programming language, chosen by Richard Stallman
> > for its flexibility and his familiarity with it...
> >
> > While Elisp's power and versatility make it
> > well-suited for writing editing commands, it's
> > important to recognize that different languages
> > have their own strengths and may be better suited
> > for other specific tasks.
> >
> > This approach provides necessary background
> > information without making exaggerated claims,
> > reducing the likelihood of sparking heated debates
> > among users.
>
> While I agree with general advice to avoid inflated
> language / hyperbole, IMO that description is not
> only too subdued, it misses the reasons why Elisp
> is important for Emacs:
It was meant as idea and general advice. Yes, it was subdued.
The information you describe can be added. My wording was about
the rewriting of some sentences. Nothing more.
> > Lisp programming language, chosen by Richard
> > Stallman for its flexibility and his familiarity
> > with it
>
> Flexibility: Certainly, but without some support
> that's just a weasel word - unhelpful, near
> meaningless.
That must be Richard's point of view, not ours.
> And RMS didn't choose Lisp because it was what he
> was familiar with. There's a little more to it -
> and to Lisp - than you suggest there. RMS has,
> himself, written about it. You can take him at his
> 1981 word about why Lisp is important for Emacs.
Right. The practical and historical reasons for choosing a Unix-Lke System
and developing Emacs cannot be attributed solely to technical merit.
> https://www.gnu.org/software/emacs/emacs-paper.html
>
> Comprehension of the user's program reaches its
> greatest heights for Lisp programs, because the
> simplicity of Lisp syntax makes intelligent
> editing operations easier to implement, while
> the complexity of other languages discourages
> their users from implementing similar operations
> for them. In fact, EMACS offers most of the same
> facilities as editors such as the Interlisp editor
> which operate on list structure, but combined with
> display editing. The simple syntax of Lisp,
> together with the powerful editing features made
> possible by that simple syntax, add up to a more
> convenient programming system than is practical
> with other languages. Lisp and extensible editors
> are made for each other, in this way. We will see
> below that this is not the only way...
>
> An on-line extensible system must be able to accept
> and then execute new code while it is running.
> This eliminates most popular programming languages
> except Lisp, APL and Snobol. At the same time,
> Lisp's interpreter and its ability to treat
> functions as data are exactly what we need...
>
> A PASCAL or PL/I implementation which uses an
> interpreter, and allows the user program to access
> the interpreter data structures sufficiently, could
> be used just as a Lisp implementation would be used.
> However, such implementations are very rare, because
> these languages are not designed for them. If the
> implementor appreciates the importance of the
> interpreter, and of treating functions as data, he
> will usually choose to implement Lisp...
> When a language is used for implementing extensible
> systems, certain control structure and data
> structure features become vital:
>
> * Global Variables...
> * Dynamic Binding...
> * Variables Local to a File...
> * Hooks...
> * User handling of errors...
> * Non-Local Control Transfer...
>
> The traditional attitude towards Lisp holds that
> it is useful only for esoteric amusements and
> Artificial Intelligence... The special properties
> of Lisp, which make extensibility possible, are
> a key feature, even though many of the users will
> not be programmers.
>
> tl;dr:
>
> "Lisp and extensible editors are made for each other"
>
> Sure, that was 43 years ago. But still germane.
>
> > it's important to recognize that different
> > languages have their own strengths and may be
> > better suited for other specific tasks.
>
> What's the point of saying that in the context for
> which you suggest it?
Emacs Lisp has evolved alongside Emacs, tailored specifically
to meet the needs of the editor. This co-evolution has made Elisp
particularly adept at tasks related to text editing, customization,
and extending Emacs functionalities.
Recognizing that Elisp has become highly specialized helps explain
why it is so effective within Emacs. This specialization is not because
of inherent properties of Lisp but due to focused development efforts
over time.
Other languages can potentially be used to develop Emacs-like editors.
Languages like Ruby, or modern variants of Lisp, such as Clojure, could
be adapted for similar purposes if there were enough focus and development
effort. Just as Elisp has grown with Emacs, other languages could develop
unique features and optimizations for specific applications.
This recognition encourages a broader appreciation of programming languages
and fosters an open-minded approach.
next prev parent reply other threads:[~2024-08-06 22:26 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-04 22:27 Emacs website, Lisp, and other Jeremy Bryant
2024-08-04 22:55 ` Emanuel Berg
2024-08-05 4:29 ` Emanuel Berg
2024-08-05 9:23 ` Christopher Dimech
2024-08-05 10:43 ` Emanuel Berg
2024-08-05 11:37 ` divya
2024-08-05 11:56 ` Christopher Dimech
2024-08-05 12:33 ` Eli Zaretskii
2024-08-05 11:45 ` Christopher Dimech
2024-08-05 12:56 ` Dr. Arne Babenhauserheide
2024-08-05 13:16 ` Dr. Arne Babenhauserheide
2024-08-05 14:46 ` Christopher Dimech
2024-08-05 21:28 ` Dr. Arne Babenhauserheide
2024-08-05 14:55 ` Eli Zaretskii
2024-08-05 12:28 ` Eli Zaretskii
2024-08-05 16:27 ` 10 problems with Elisp, part 10 (was: Re: Emacs website, Lisp, and other) Emanuel Berg
2024-08-05 16:38 ` Eli Zaretskii
2024-08-05 17:03 ` Emanuel Berg
2024-08-05 18:32 ` 10 problems with Elisp, part 10 Dr. Arne Babenhauserheide
2024-08-05 20:20 ` Emanuel Berg
2024-08-06 7:14 ` Dr. Arne Babenhauserheide
2024-08-06 7:21 ` Org mode API (was: 10 problems with Elisp, part 10) Ihor Radchenko
2024-08-06 8:23 ` Org mode API Dr. Arne Babenhauserheide
2024-08-10 16:55 ` Ihor Radchenko
2024-08-06 11:54 ` 10 problems with Elisp, part 10 Eli Zaretskii
2024-08-08 2:01 ` Richard Stallman
2024-08-09 22:39 ` Emanuel Berg
2024-08-13 1:28 ` Richard Stallman
2024-08-09 22:46 ` Emanuel Berg
2024-08-10 5:41 ` Emanuel Berg
2024-08-10 6:09 ` Eli Zaretskii
2024-08-13 1:28 ` Richard Stallman
2024-08-05 18:58 ` 10 problems with Elisp, part 10 (was: Re: Emacs website, Lisp, and other) Christopher Dimech
2024-08-05 19:30 ` 10 problems with Elisp, part 10 Dr. Arne Babenhauserheide
2024-08-05 20:02 ` Christopher Dimech
2024-08-08 2:01 ` Richard Stallman
2024-08-06 2:28 ` Eli Zaretskii
2024-08-05 17:13 ` 10 problems with Elisp, part 10 (was: Re: Emacs website, Lisp, and other) Yuri Khan
2024-08-06 6:39 ` Emanuel Berg
2024-08-06 11:16 ` Richard Stallman
2024-08-06 22:08 ` Emanuel Berg
2024-08-05 11:56 ` Emacs website, Lisp, and other Eli Zaretskii
2024-08-06 19:09 ` Jeremy Bryant
2024-08-06 19:50 ` Christopher Dimech
2024-08-06 20:35 ` [External] : " Drew Adams
2024-08-06 22:10 ` Dr. Arne Babenhauserheide
2024-08-06 22:48 ` Christopher Dimech
2024-08-06 23:09 ` Drew Adams
2024-08-06 23:21 ` Christopher Dimech
2024-08-07 1:09 ` Dr. Arne Babenhauserheide
2024-08-06 22:26 ` Christopher Dimech [this message]
2024-08-07 5:45 ` Emanuel Berg
2024-08-15 3:53 ` Madhu
2024-08-15 5:50 ` Emanuel Berg
2024-08-15 9:17 ` Madhu
2024-08-15 9:57 ` Emanuel Berg
2024-08-15 6:17 ` Emanuel Berg
2024-08-15 7:10 ` Eli Zaretskii
2024-08-15 8:06 ` Emanuel Berg
2024-08-15 9:27 ` Emanuel Berg
2024-08-15 16:03 ` Emanuel Berg
2024-08-07 11:13 ` Eli Zaretskii
2024-08-07 12:03 ` Andrea Corallo
2024-08-07 12:16 ` Christopher Dimech
2024-08-08 2:01 ` Richard Stallman
2024-08-08 6:51 ` Joel Reicher
2024-08-07 12:31 ` Christopher Dimech
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=trinity-5493b964-25f0-432a-adfd-44c490495185-1722983199565@3c-app-mailcom-bs08 \
--to=dimech@gmx.com \
--cc=drew.adams@oracle.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=jb@jeremybryant.net \
--cc=rms@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.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
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).