From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Noah Friedman Newsgroups: gmane.emacs.devel Subject: Re: Emacs Lisp and Guile Date: Sat, 10 Aug 2002 00:17:49 -0700 (PDT) Sender: emacs-devel-admin@gnu.org Message-ID: <20020810001749.695883.FMU31823@piglet.prv.splode.com> References: <200207200035.g6K0ZAb27891@aztec.santafe.edu> <200207212015.g6LKF4c00874@aztec.santafe.edu> <200207251807.g6PI75d07615@aztec.santafe.edu> <874renlito.fsf@zagadka.ping.de> <200207271853.g6RIre710837@aztec.santafe.edu> <200207310554.g6V5ssc16508@aztec.santafe.edu> <200208022214.g72MELZ01879@aztec.santafe.edu> <200208042325.g74NPtM03391@aztec.santafe.edu> Reply-To: Noah Friedman NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: main.gmane.org 1028963853 12330 127.0.0.1 (10 Aug 2002 07:17:33 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sat, 10 Aug 2002 07:17:33 +0000 (UTC) Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17dQVA-0003Cl-00 for ; Sat, 10 Aug 2002 09:17:32 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17dQs6-0005aM-00 for ; Sat, 10 Aug 2002 09:41:15 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17dQVs-00023O-00; Sat, 10 Aug 2002 03:18:16 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17dQVX-000236-00 for emacs-devel@gnu.org; Sat, 10 Aug 2002 03:17:55 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17dQVV-00022u-00 for emacs-devel@gnu.org; Sat, 10 Aug 2002 03:17:54 -0400 Original-Received: from scones-of-silence.splode.com ([216.27.180.143] helo=piglet.prv.splode.com) by monty-python.gnu.org with esmtp (Exim 4.10) id 17dQVU-00022o-00 for emacs-devel@gnu.org; Sat, 10 Aug 2002 03:17:53 -0400 Original-Received: (from friedman@localhost) by piglet.prv.splode.com (8.9.3/8.9.3) id AAA32624; Sat, 10 Aug 2002 00:17:49 -0700 Original-To: emacs-devel@gnu.org In-Reply-To: (sds@gnu.org , 05 Aug 2002 12:10:30 -0400) Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:6415 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:6415 >Yes, all such extensions can be done, and there are _several_ different >incompatible object systems for Scheme, i.e., Scheme is at the stage >where Common Lisp was 20 years ago, when there were several CL object >systems. I don't expect that the decision is going to be made based on popularity, but for what it's worth I agree with Sam. I hate writing Scheme programs because every implementation is incompatible and usually incomplete. On the other hand I've been able to take CL programs and run them on a dozen systems. Every few decades (or less) someone gets it in their head that the large, complex but feature-complete languages they've been using are too big for some project, and they start all over again with some toy language that is more suitably scoped for their project. And then it starts accreting features until it's just as big and hairy as the language everyone ran away from in the first place. Scheme has had roughly 20 years to catch up and has not succeeded. As a research language it seems less compelling to me than ML and as an applications language it's less compelling than CL or Python. Emacs is already a big program, but program size is not the biggest concern in software development anymore. Lack of code sharing IS. Too many people have spent too many years writing libraries and interfaces in one language or another that cannot be used by other applications that have some other foundation, and so more people have to waste time reimplementing them. I for one am tired of (e.g.) being unable to reuse Perl modules in Python, or being unable to reuse CL libraries in Emacs or sawfish. But at this point I am not that keen on replacing Emacs' interpreter if the idiosyncrasies of maclisp (e.g. dynamic scope) and editor-specific hacks like buffer and frame local variables are so deeply embedded in it that the replacement language will have to mimic all of its behavior AND try to remain faithful to whatever semantics the replacement language (e.g. Scheme) is supposed to have. If you use Scheme, the resulting language is going to be incomprehensible to anyone who knows just R5RS. What exactly is anyone gaining by this? Could someone explain to me why effort should be expended on it at all?