From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.devel Subject: RE: First draft of the Emacs website Date: Tue, 8 Dec 2015 13:51:32 -0800 (PST) Message-ID: <5e6f1674-3091-4d0e-a12d-4f86becec481@default> References: <87io4lem98.fsf@petton.fr> <56604A9C.7080508@gmail.com> <20151208130529.GA28682@HAL9000> <1c367763-4ba1-4c65-80d1-be1b365c3b35@default> <87lh94hde0.fsf@mbork.pl> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1449611525 31527 80.91.229.3 (8 Dec 2015 21:52:05 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Tue, 8 Dec 2015 21:52:05 +0000 (UTC) Cc: Valentijn , Emacs developers , John Yates To: Marcin Borkowski , Spencer Boucher Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Dec 08 22:51:54 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1a6QAr-0000xC-2b for ged-emacs-devel@m.gmane.org; Tue, 08 Dec 2015 22:51:53 +0100 Original-Received: from localhost ([::1]:33648 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a6QAq-00040T-DL for ged-emacs-devel@m.gmane.org; Tue, 08 Dec 2015 16:51:52 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:58503) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a6QAk-0003uC-9o for emacs-devel@gnu.org; Tue, 08 Dec 2015 16:51:47 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a6QAf-0005ux-9o for emacs-devel@gnu.org; Tue, 08 Dec 2015 16:51:46 -0500 Original-Received: from userp1040.oracle.com ([156.151.31.81]:48006) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a6QAf-0005um-3L for emacs-devel@gnu.org; Tue, 08 Dec 2015 16:51:41 -0500 Original-Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id tB8LpaCt021635 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 8 Dec 2015 21:51:38 GMT Original-Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userv0021.oracle.com (8.13.8/8.13.8) with ESMTP id tB8LpYXg009870 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Tue, 8 Dec 2015 21:51:34 GMT Original-Received: from abhmp0006.oracle.com (abhmp0006.oracle.com [141.146.116.12]) by aserv0121.oracle.com (8.13.8/8.13.8) with ESMTP id tB8LpY90007520; Tue, 8 Dec 2015 21:51:34 GMT In-Reply-To: <87lh94hde0.fsf@mbork.pl> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6691.5000 (x86)] X-Source-IP: userv0021.oracle.com [156.151.31.71] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 156.151.31.81 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:195987 Archived-At: > 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.)=20 We need not focus on the name "Lisp"; it is the features that count. But neither should we shy away from mentioning "Lisp", IMO.