From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/31139 Path: main.gmane.org!not-for-mail From: Per Abrahamsen Newsgroups: gmane.emacs.gnus.general Subject: Re: Python Emacs (was Re: The .. rule) Date: 22 May 2000 14:05:22 +0200 Organization: The Church of Emacs Sender: owner-ding@hpc.uh.edu Message-ID: References: <00May12.111709edt.115683@gateway.intersys.com> <200005121547.RAA12153@marcy.cs.uni-dortmund.de> <200005172027.WAA16517@marcy.cs.uni-dortmund.de> <00May17.163721edt.115620@gateway.intersys.com> <00May19.104238edt.116445@gateway.intersys.com> NNTP-Posting-Host: coloc-standby.netfonds.no Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: main.gmane.org 1035167583 12369 80.91.224.250 (21 Oct 2002 02:33:03 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 21 Oct 2002 02:33:03 +0000 (UTC) Return-Path: Original-Received: from bart.math.uh.edu (bart.math.uh.edu [129.7.128.48]) by mailhost.sclp.com (Postfix) with ESMTP id B312BD051F for ; Mon, 22 May 2000 08:06:12 -0400 (EDT) Original-Received: from sina.hpc.uh.edu (lists@Sina.HPC.UH.EDU [129.7.3.5]) by bart.math.uh.edu (8.9.1/8.9.1) with ESMTP id HAB12633; Mon, 22 May 2000 07:06:01 -0500 (CDT) Original-Received: by sina.hpc.uh.edu (TLB v0.09a (1.20 tibbs 1996/10/09 22:03:07)); Mon, 22 May 2000 07:05:27 -0500 (CDT) Original-Received: from mailhost.sclp.com (postfix@sclp3.sclp.com [204.252.123.139]) by sina.hpc.uh.edu (8.9.3/8.9.3) with ESMTP id HAA22525 for ; Mon, 22 May 2000 07:05:12 -0500 (CDT) Original-Received: from sheridan.dina.kvl.dk (sheridan.dina.kvl.dk [130.225.40.227]) by mailhost.sclp.com (Postfix) with ESMTP id F2437D051F for ; Mon, 22 May 2000 08:05:33 -0400 (EDT) Original-Received: from zuse.dina.kvl.dk (zuse.dina.kvl.dk [130.225.40.245]) by sheridan.dina.kvl.dk (8.9.3/8.9.3/Debian/GNU) with ESMTP id OAA26519 for ; Mon, 22 May 2000 14:00:29 +0200 Original-Received: (from abraham@localhost) by zuse.dina.kvl.dk (8.9.3+Sun/8.9.1) id OAA07829; Mon, 22 May 2000 14:05:22 +0200 (MET DST) X-Authentication-Warning: zuse.dina.kvl.dk: abraham set sender to abraham@dina.kvl.dk using -f Original-To: ding@gnus.org X-Face: +kRV2]2q}lixHkE{U)mY#+6]{AH=yN~S9@IFiOa@X6?GM|8MBp/ In-Reply-To: Kai.Grossjohann@CS.Uni-Dortmund.DE's message of "Sun, 21 May 2000 00:43:11 +0200" Original-Lines: 25 User-Agent: Gnus/5.0807 (Gnus v5.8.7) Emacs/20.4 Precedence: list X-Majordomo: 1.94.jlt7 Xref: main.gmane.org gmane.emacs.gnus.general:31139 X-Report-Spam: http://spam.gmane.org/gmane.emacs.gnus.general:31139 Kai.Grossjohann@CS.Uni-Dortmund.DE (Kai Gro=DFjohann) writes: > Why are you using it imperatively, then, if you don't want to?=20=20 >>From the Emacs Lisp Reference Manual: * Use iteration rather than recursion whenever possible. Function calls are slow in Emacs Lisp even when a compiled function is calling another compiled function. My first "real" Emacs Lisp project (a Pascal mode) was a failure, because I had used recursion (as I had learned in class was the true Lisp way) instead of recursion throughout, and it was way too slow to be useful. I see no problem with allowing imperative programming as Lisp does, but the implementation should make functional programming efficient. As it is, I can write nice fast recursive and side-effect free code in C and C++, but in Emacs Lisp I have to recode the recursion as "side-effecs-and-iterations" whenever speed matters.=20 Python and Perl seems in that light like side-steps to me, they don't solve any of the real problems with Emacs Lisp. A step forward would be a real modern Lisp, preferably Scheme. Or maybe even a statically typed language.