unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
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
Date: Tue, 6 Aug 2024 20:35:45 +0000	[thread overview]
Message-ID: <BLAPR10MB5219692C7A9F536BCA442ABDF3BF2@BLAPR10MB5219.namprd10.prod.outlook.com> (raw)
In-Reply-To: <trinity-095d4d25-5510-4167-81eb-124105b9eaf2-1722973850111@3c-app-mailcom-bs08>

> 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:

 > 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.

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.

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?

  reply	other threads:[~2024-08-06 20:35 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       ` Drew Adams [this message]
2024-08-06 22:10         ` [External] : " 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
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=BLAPR10MB5219692C7A9F536BCA442ABDF3BF2@BLAPR10MB5219.namprd10.prod.outlook.com \
    --to=drew.adams@oracle.com \
    --cc=dimech@gmx.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).