all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Marcin Borkowski <mbork@mbork.pl>
To: Drew Adams <drew.adams@oracle.com>
Cc: Valentijn <valentijn@linux.com>,
	Emacs developers <emacs-devel@gnu.org>,
	Spencer Boucher <spencer@spencerboucher.com>,
	John Yates <john@yates-sheets.org>
Subject: Re: First draft of the Emacs website
Date: Wed, 09 Dec 2015 22:00:12 +0100	[thread overview]
Message-ID: <87twnrcp7n.fsf@mbork.pl> (raw)
In-Reply-To: <5e6f1674-3091-4d0e-a12d-4f86becec481@default>


On 2015-12-08, at 22:51, Drew Adams <drew.adams@oracle.com> wrote:

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

Yes.

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

This is especially important.  Maybe it might even be a good idea to
tell people that Emacs is a "framework" (whatever that means) to write
custom text editors, which happen to contain two very good default
editors as a template and an example;-).

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

Hear, hear!

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

I'm not sure whether I agree.  You're right that those are expected of
a mature language; the point is, that Emacs "extension language" _is_
mature (IOW, it is not a "toy language").

OTOH, many editors nowadays allow scripting in Python or JS, which are
very mature languages, too.  So maybe I'm wrong after all.

And when I think of it, I guess that it _might_ be a good idea to stress
that there is no such thing as an Emacs "plugin".  In other tools,
plugins are sometimes a second-category citizen, while in Emacs, the
user's code has access to the same things as Emacs native code.  IOW,
Emacs is a very primitive (in terms of usability as a text editor) core,
and 90% (or more) of functionality is a huge pile of "plugins", i.e.,
functions, which can be advised, redefined - all this on the fly.

Of course, my wording here is not very good, I'd have to think about it
a lot more, but you get the idea.

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

Yes.

Best,

-- 
Marcin Borkowski
http://octd.wmi.amu.edu.pl/en/Marcin_Borkowski
Faculty of Mathematics and Computer Science
Adam Mickiewicz University



  parent reply	other threads:[~2015-12-09 21:00 UTC|newest]

Thread overview: 113+ 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-04  5:42         ` Random832
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
2015-12-08 21:58                     ` Drew Adams
2015-12-09 21:00                     ` Marcin Borkowski [this message]
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 16:32                             ` Random832
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

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

  git send-email \
    --in-reply-to=87twnrcp7n.fsf@mbork.pl \
    --to=mbork@mbork.pl \
    --cc=drew.adams@oracle.com \
    --cc=emacs-devel@gnu.org \
    --cc=john@yates-sheets.org \
    --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 external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.