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: Guile in Emacs Date: Wed, 14 Apr 2010 09:41:14 -0700 Message-ID: <9CB3C61E04184201A6DE12FE4E1EE853@us.oracle.com> References: <4B8147A9.7030504@gmail.com> <87wrxrr4md.fsf@gnu.org><3vsk8ecg6a.fsf@fencepost.gnu.org> <873a0euot4.fsf@stupidchicken.com> <873a0cyv3r.fsf@lola.goethe.zz> <87aauiho3y.fsf_-_@lifelogs.com><1271028837.6164.55.camel@dell-desktop.example.com><1271102739.6067.38.camel@dell-desktop.example.com><8039yz34ka.fsf@tiny.isode.net><1271173887.6067.53.camel@dell-desktop.example.com> <87ljcqqxoc.fsf@lola.goethe.zz> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1271263893 11680 80.91.229.12 (14 Apr 2010 16:51:33 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 14 Apr 2010 16:51:33 +0000 (UTC) To: Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Apr 14 18:51:28 2010 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1O25oG-0003qS-EX for ged-emacs-devel@m.gmane.org; Wed, 14 Apr 2010 18:51:28 +0200 Original-Received: from localhost ([127.0.0.1]:37003 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O25iP-0003o4-Fx for ged-emacs-devel@m.gmane.org; Wed, 14 Apr 2010 12:45:25 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1O25gJ-0002nw-ED for emacs-devel@gnu.org; Wed, 14 Apr 2010 12:43:15 -0400 Original-Received: from [140.186.70.92] (port=33523 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1O25gH-0002mK-8q for emacs-devel@gnu.org; Wed, 14 Apr 2010 12:43:14 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1O25gE-0006Jg-9h for emacs-devel@gnu.org; Wed, 14 Apr 2010 12:43:12 -0400 Original-Received: from rcsinet11.oracle.com ([148.87.113.123]:55538) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1O25gE-0006Ig-46 for emacs-devel@gnu.org; Wed, 14 Apr 2010 12:43:10 -0400 Original-Received: from rcsinet13.oracle.com (rcsinet13.oracle.com [148.87.113.125]) by rcsinet11.oracle.com (Switch-3.4.2/Switch-3.4.2) with ESMTP id o3EGh4gq025328 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 14 Apr 2010 16:43:05 GMT Original-Received: from acsmt355.oracle.com (acsmt355.oracle.com [141.146.40.155]) by rcsinet13.oracle.com (Switch-3.4.2/Switch-3.4.1) with ESMTP id o3EFhpBH003831 for ; Wed, 14 Apr 2010 16:42:57 GMT Original-Received: from abhmt003.oracle.com by acsmt354.oracle.com with ESMTP id 175117371271263273; Wed, 14 Apr 2010 09:41:13 -0700 Original-Received: from dradamslap1 (/141.144.72.170) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Wed, 14 Apr 2010 09:41:13 -0700 X-Mailer: Microsoft Office Outlook 11 Thread-Index: Acrb6fnmqFdmX6YyQHWq343klZLJkgAAg4Sw In-Reply-To: X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 X-Source-IP: acsmt355.oracle.com [141.146.40.155] X-Auth-Type: Internal IP X-CT-RefId: str=0001.0A090209.4BC5F097.00FA:SCFMA4539814,ss=1,fgs=0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:123650 Archived-At: > While I rather like CL, and much prefer it to Scheme, I don't > see why we need to consider either. I don't see much wrong > with elisp as it is. In my view it simply is not among the > major limiting factors of Emacs. FWIW, I agree. I don't see a need to change things fundamentally. If some particular aspects of either CL or Scheme are considered desirable individually, then we could move toward accommodating them (adopting/adapting). Incremental evolution that way, in the normal Emacs base code (as opposed to creating a parallel Scheme-based or CL-based Emacs), would help ensure that non-core libraries, including 3rd-party libraries, kept pace. Emacs is not just someone's term project. The main and most important difference from Elisp, for both CL and Scheme, lies in more robust support for lexical scoping. CL's approach to mixing lexical and dynamic scoping would be a reasonable one for Emacs Lisp. We currently have `lexical-let' and that's about all. Common Lisp goes much further toward taking advantage of lexical scoping than we currently do in Emacs. I might add that a better time to have considered this would have been 1985 or 1990, not 2010. ;-) When both CL and GNU Emacs were young would have been the perfect time. Richard is not crazy about CL, and my guess is that that's the reason we aren't as close to it now as we might be. I do, BTW, agree with Richard that there is a lot in CL that Emacs does not necessarily need. But the basic design of CL would not be a bad one for Emacs, IMO. I also suspect that if there were really much interest in moving in this direction, then we would already have moved Emacs Lisp a little closer to CL. It just hasn't happened. It is also the case that Emacs would already have much more CL-like and CL-somewhat-compatible code now if there were not so much push-back to using CL functions at runtime. Don't get me wrong - I support the push-back. My point is only that if you look at 3rd-party Emacs-Lisp libraries (not mine ;-)), especially by younger developers, you'll see widespread use of cl.el functions. That's an indication that people would use CL constructs if they were more solidly part of Emacs Lisp. The evolution toward more CL-ness would thus partly take care of itself. The problem is that the foundation is shaky.