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