unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Drew Adams <drew.adams@oracle.com>
To: Marcin Borkowski <mbork@mbork.pl>,
	Spencer Boucher <spencer@spencerboucher.com>
Cc: Valentijn <valentijn@linux.com>,
	Emacs developers <emacs-devel@gnu.org>,
	John Yates <john@yates-sheets.org>
Subject: RE: First draft of the Emacs website
Date: Tue, 8 Dec 2015 13:51:32 -0800 (PST)	[thread overview]
Message-ID: <5e6f1674-3091-4d0e-a12d-4f86becec481@default> (raw)
In-Reply-To: <87lh94hde0.fsf@mbork.pl>

> I think Drew meant something along the lines "a stable, dynamically
> typed language with a bunch of built-in datatypes, a rich library, an
> (optional) object system and integrated tools like a bytecode compiler,
> interactive debugger, a docstring conformance checker etc."

Sort of.  Yes, concentrate on the _features_ that Lisp has to
offer, not on the name.  (We might not agree on which features
are most important, but that's what discussion is for.)

And point out _how_ these features are important to Emacs -
(1) as a text editor and (2) as everything else that Emacs is,
from a multi-language programming environment to a calendar,
email client, personal organizer, whatever.

The point is not to describe Lisp features.  It is to
describe Lisp features that particularly benefit Emacs,
and to point out how so.  "Why mention Lisp?" is really
the same question here as "Why is Lisp helpful to Emacs?"

Without giving an idea of _how_ Lisp features help, a
feature list is not so useful.  A different supporting
language could still let you define your own commands,
and bind keys, and customize faces or whatever.  But the
high-level, functional nature of Lisp lets you do those
things more easily than some languages might.

We don't want to set Lisp up against other languages.
We do want to get across what it offers that benefits
an editor and environment such as Emacs.

And we can mention _Emacs_ "oddities" that (IMHO)
contribute to Lisp's usefulness for Emacs, including:

. Abundant hooks, which you can use to can tie in your
  own code at expected places, to extend behavior.

. An advice system that more generally lets you reuse
  code, adapting it to your needs.

. Dynamic binding (in addition to lexical), which lets
  you reuse and adapt code just by dynamically binding
  variables to different values.

IOW, from the outset, Emacs intends for you to modify its
behavior.  This is perhaps the main thing that sets Emacs
apart.  And it takes this very seriously.  On purpose,
almost nothing in Emacs behavior is carved in stone.

Lisp is in large part what gives Emacs its power and makes
it more than a mere text editor, even one that is highly
customizable.  Features of the language are behind this:
code as data, flexible ability to define macros, recursive
functions (including higher-order), and whatever else we
decide is important to point out.

We haven't necessarily thought much about _how Lisp
contributes_ to what makes Emacs Emacs, but it might be
good to do so now.  Even a noisy argument about what is
important, and why, could be useful in deciding what to
tell people about what makes Emacs special.

Personally, I would _not_ insist upon the stability of the
language, the presence of an object system, the extensive
integrated tools, or even the rich library.  Aside from the
object system, those are expected of a mature language and
are not particular to Lisp.  (Maybe mention the object system
but, so far, it is not used much, AFAIK, especially by users.) 

We need not focus on the name "Lisp"; it is the features
that count.  But neither should we shy away from mentioning
"Lisp", IMO.



  reply	other threads:[~2015-12-08 21:51 UTC|newest]

Thread overview: 111+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-28 23:29 First draft of the Emacs website Nicolas Petton
2015-11-28 23:51 ` Jean-Christophe Helary
2015-11-29  0:03 ` Daniel Pimentel
2015-11-29  1:02 ` Xue Fuqiao
2015-11-29  1:26   ` Nicolas Petton
2015-11-29  2:19     ` Alex Dunn
2015-11-29  3:31       ` Jean-Christophe Helary
2015-11-29  5:42         ` Random832
2015-11-29  8:15           ` David Caldwell
2015-11-29 14:25             ` Dmitry Gutov
2015-11-30 17:49             ` Emacs for Mac OS X bundle (was: First draft of the Emacs website) John Wiegley
2015-11-30 20:02               ` Emacs for Mac OS X bundle David Caldwell
2015-12-01  0:15                 ` Xue Fuqiao
2015-12-01  1:40                   ` David Caldwell
2015-11-30  0:02     ` First draft of the Emacs website Xue Fuqiao
2015-11-29  8:06 ` Przemysław Wojnowski
2015-11-29 10:27   ` Zack Piper
2015-11-29 12:36     ` Rasmus
2015-11-29 12:58       ` Nicolas Petton
2015-11-29 14:00       ` Marcin Borkowski
2015-11-29 10:15 ` David Engster
2015-11-29 12:56   ` Nicolas Petton
2015-11-29 15:17 ` Dmitry Gutov
2015-11-29 19:38   ` Nicolas Petton
2015-11-29 22:01     ` Dmitry Gutov
2015-11-29 22:11       ` Nicolas Petton
2015-11-29 16:21 ` Christopher Allan Webber
2015-11-29 19:39   ` Nicolas Petton
2015-11-29 21:45 ` Artur Malabarba
2015-11-29 22:11   ` Nicolas Petton
2015-11-30  0:04     ` Artur Malabarba
2015-11-30  1:29       ` Alex Dunn
2015-11-30  9:43         ` Artur Malabarba
2015-11-30 10:33           ` Dani Moncayo
2015-11-30 15:22             ` Drew Adams
2015-11-30 16:06   ` Nicolas Petton
2015-11-30 16:16     ` Yuri Khan
2015-11-30 16:23       ` Nicolas Petton
2015-12-01 14:37     ` Richard Stallman
2015-12-01 14:56       ` Nicolas Petton
2015-11-30 19:48 ` Milan Zamazal
2015-12-02 16:45   ` Drew Adams
2015-12-02 17:22     ` Nicolas Petton
2015-12-02 16:36 ` Random832
2015-12-02 17:12   ` Nicolas Petton
2015-12-02 18:07     ` Yuri Khan
2015-12-02 18:26       ` Nicolas Petton
2015-12-02 18:29       ` Nicolas Petton
2015-12-02 18:30         ` Yuri Khan
2015-12-02 23:47   ` Xue Fuqiao
2015-12-04  3:57     ` Random832
2015-12-04  5:17       ` License of the Emacs website (was: Re: First draft of the Emacs website) Chad Brown
2015-12-05  0:19       ` First draft of the Emacs website Richard Stallman
2015-12-03 13:58 ` Clément Pit--Claudel
2015-12-03 22:17   ` John Yates
2015-12-03 22:30     ` Nicolas Petton
2015-12-03 22:57     ` Drew Adams
2015-12-03 23:26       ` John Yates
2015-12-04  0:58         ` Drew Adams
2015-12-08 13:05           ` Valentijn
2015-12-08 15:09             ` Drew Adams
2015-12-08 15:21               ` Spencer Boucher
2015-12-08 16:08                 ` David Kastrup
2015-12-08 20:52                 ` Marcin Borkowski
2015-12-08 21:51                   ` Drew Adams [this message]
2015-12-08 21:58                     ` Drew Adams
2015-12-09 21:00                     ` Marcin Borkowski
2015-12-10  5:28                     ` Richard Stallman
2015-12-10  9:10                       ` David Kastrup
2015-12-10  5:27                   ` Richard Stallman
2015-12-10 16:13                     ` Python vs Lisp (followups to -tangents) Random832
2015-12-10 18:40                       ` Sam Steingold
2015-12-10 22:31                         ` Random832
2015-12-16 15:57                           ` Sam Steingold
2015-12-16 17:56                           ` Christopher Allan Webber
2015-12-09  6:06                 ` First draft of the Emacs website Richard Stallman
2015-12-04  6:06         ` David Kastrup
2015-12-04  9:37           ` Eli Zaretskii
2015-12-04  9:42             ` David Kastrup
2015-12-04 10:11               ` Eli Zaretskii
2015-12-04 10:42                 ` Nicolas Petton
2015-12-04 10:44                 ` David Kastrup
2015-12-04 11:03                   ` Eli Zaretskii
2015-12-04 22:26                   ` Paul Eggert
2015-12-04 22:30                     ` David Kastrup
2015-12-04  8:42         ` Eli Zaretskii
2015-12-03 23:59     ` Clément Pit--Claudel
  -- strict thread matches above, loose matches on Subject: below --
2015-12-02 12:47 H.Tsurumoto
2015-12-02 13:07 ` David Kastrup
2015-12-02 14:55   ` Random832
2015-12-02 15:16     ` David Kastrup
2015-12-02 15:39       ` Drew Adams
2015-12-02 15:42       ` Nicolas Petton
2015-12-02 15:53         ` David Kastrup
2015-12-02 16:07           ` Nicolas Petton
2015-12-02 15:55         ` Yuri Khan
2015-12-02 15:57           ` Nicolas Petton
2015-12-02 16:05             ` David Kastrup
2015-12-02 16:07             ` Yuri Khan
2015-12-02 16:08           ` Random832
2015-12-03  6:22         ` Richard Stallman
2015-12-03  9:29           ` Nicolas Petton
2015-12-03  9:59             ` Alexis
2015-12-03 10:51               ` Nicolas Petton
2015-12-04  5:22                 ` Richard Stallman
2015-12-04  9:07                   ` Nicolas Petton
2015-12-04  5:22             ` Richard Stallman
2015-12-04  9:36               ` Nicolas Petton
2015-12-03  6:21   ` Richard Stallman
2015-12-02 14:14 ` Nicolas Petton
2015-12-02 16:39   ` David Engster

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=5e6f1674-3091-4d0e-a12d-4f86becec481@default \
    --to=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=john@yates-sheets.org \
    --cc=mbork@mbork.pl \
    --cc=spencer@spencerboucher.com \
    --cc=valentijn@linux.com \
    /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).