|
Prev: You want abbreviations? You can't handle abbreviations!
Next: Hot Shop Audemars Piguet Royal Oak Watches - Audemars Piguet Minimum Price
From: Rainer Joswig on 6 May 2008 15:00 In article <7a360a2d-c283-41d4-a4f5-40c176fb4d12(a)a70g2000hsh.googlegroups.com>, viper-2 <visionat(a)mail.infochan.com> wrote: > On May 6, 12:14 pm, Didier Verna <did...(a)xemacs.org> wrote: > > viper-2 <visio...(a)mail.infochan.com> wrote: > > > On May 6, 3:57 am, Didier Verna <did...(a)xemacs.org> wrote: > > > > > > You have got to be kidding me. I don't see how being dynamically > > scoped by default helps you in any way (even in a self-blah-blah editor > > in which user options could simply be defined in terms of CL's > > defparameter). I don't see how not having lexical scope helps you in any > > way either. > > Remember that Elisp (a variant of MacLisp) preceded Common Lisp, hence > no CLOS. Well, RMS worked on the Lisp Machine. He even wrote manuals for it. He wrote for example the Zmail manual and co-wrote the Window System Manual. He knew the system very well. Including Flavors, the object system. He himself wrote an object-system before there was Flavors. Lisp Machine Lisp was dynamically scoped with some support for closures. There was more experience with dynamically scoped Lisps at that time. > The reasons for the use of dynamic scoping have to do with > the design decisions RMS made at the time he decided to rewrite his > TECO based EMACS. I believe (but I could be wrong here) that at the > time, Steele's and Sussman's Scheme project performed poorly with > lexical scoping. Dynamic scoping was thought to be more efficient; see > http://www.gnu.org/software/emacs/emacs-paper.html#SEC17. Well, the language Elisp could have been changed - if lexical scope or an object system had been important to the language users. > > > > BTW, what exactly do you mean by "customize and extend [...]" ? > > I quoted this from the GNU EMACS Manual http://www.gnu.org/software/emacs/manual/html_mono/emacs.html. > > That is how EMACS is commonly referred to by its devotees. Maybe > someone else would clue you in? I'd like to go into more detail, but > I'm completely tied up right now with my law project - the ICC and > suppression of a complaint ( reference Nos. OTP-CR-313/04 and 113-07/ > VZ/OO) against the University of Aberdeen (Scotland) for the crime of > apartheid. :-( > > I would much prefer to spend my time with mathematics, engineering, > and Lisp. > > agt -- http://lispm.dyndns.org/
From: Pascal J. Bourguignon on 7 May 2008 03:13 viper-2 <visionat(a)mail.infochan.com> writes: > On May 6, 12:14 pm, Didier Verna <did...(a)xemacs.org> wrote: >> viper-2 <visio...(a)mail.infochan.com> wrote: >> > On May 6, 3:57 am, Didier Verna <did...(a)xemacs.org> wrote: >> >> >> You have got to be kidding me. I don't see how being dynamically >> scoped by default helps you in any way (even in a self-blah-blah editor >> in which user options could simply be defined in terms of CL's >> defparameter). I don't see how not having lexical scope helps you in any >> way either. > > Remember that Elisp (a variant of MacLisp) preceded Common Lisp, hence > no CLOS. However, there are libraries. For example, eieio implements CLOS http://cedet.sourceforge.net/eieio.shtml (with some differences, of course: http://cedet.sourceforge.net/info/eieio.html#SEC6 ) -- __Pascal Bourguignon__
From: Pascal J. Bourguignon on 7 May 2008 03:24 Didier Verna <didier(a)lrde.epita.fr> writes: > viper-2 <visionat(a)mail.infochan.com> wrote: > >> Remember that Elisp (a variant of MacLisp) preceded Common Lisp, hence >> no CLOS. [...] > > I know all that. History doesn't change the fact that elisp is a > really poor dialect of Lisp. > > >>> BTW, what exactly do you mean by "customize and extend [...]" ? >> >> I quoted this from the GNU EMACS Manual >> http://www.gnu.org/software/emacs/manual/html_mono/emacs.html. >> >> That is how EMACS is commonly referred to by its devotees. Maybe >> someone else would clue you in? > > Ha ha :-) Like I said, for (most) people thinking that "customizing > and extending" their favorite editor merely boils down to hacking their > .emacs, yes elisp is probably fine. elisp is *not* fine for writing 30% > of the program itself, or a general purpose mailer/newser... In the case of GNU emacs, lisp sources represent 75% of the lines, 78% of the characters, (taking into account only .el, .h and .c files). [pjb(a)simias emacs-22.1]$ find . -name \*.\[hc] -exec cat {} \; | wc ; find . -name \*.el -exec cat {} \; | wc 396223 1509839 11483825 1163546 4639410 41193794 And of course, this is without considering the add-ons. [pjb(a)simias emacs-22.1]$ cd /usr/share/emacs/site-lisp/ [pjb(a)simias site-lisp]$ find . -name \*.\[hc] -exec cat {} \; | wc ; find . -name \*.el -exec cat {} \; | wc 210 566 3823 1315561 5358721 49378935 A fully loaded GNU emacs image will come from at least 89% of emacs lisp source characters. And yes, this include several MUAs entirely written in emacs lisp, so if it's not fine to do that, at least it doesn't discourrage emacs lisp programmers... -- __Pascal Bourguignon__
From: Didier Verna on 7 May 2008 03:33 pjb(a)informatimago.com (Pascal J. Bourguignon) wrote: > viper-2 <visionat(a)mail.infochan.com> writes: >> >> Remember that Elisp (a variant of MacLisp) preceded Common Lisp, >> hence no CLOS. > > However, there are libraries. For example, eieio implements CLOS > http://cedet.sourceforge.net/eieio.shtml Yup. I don't remember exactly when eieio came out, but the point is, given the amount of already existing elisp code, both in the editors themselves and in external libraries, the time and energy required to rewrite the whole stuff in a better way would be tremendous... Not to mention that every time I express the wish to rewrite XEmacs in CL, some of the other guys jump at me and express their wish to rewrite it in Scheme ;-) -- 5th European Lisp Workshop at ECOOP 2008, July 7: http://elw.bknr.net/2008/ Didier Verna, didier(a)lrde.epita.fr, http://www.lrde.epita.fr/~didier EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (0)1 44 08 01 85 94276 Le Kremlin-Bic�tre, France Fax.+33 (0)1 53 14 59 22 didier(a)xemacs.org
From: Didier Verna on 7 May 2008 04:01
pjb(a)informatimago.com (Pascal J. Bourguignon) wrote: > And yes, this include several MUAs entirely written in emacs lisp, so > if it's not fine to do that, at least it doesn't discourrage emacs > lisp programmers... Right :-) You can always knock in a nail with a screw driver. You just wish you had a hammer ;-) But to be really fair, once you get a hammer, it doesn't mean you know how to use it properly. So part of the problem we have today is also due to extremely bad design and ugly code in most elisp lines out there. So on the one hand, we have elisp code, mostly a collection of crappy hacks on top of each other, but it works... and I'm really wondering, if a standard elisp object system had existed in the first place, would the original programmers have been skilled enough to use it and design their stuff properly ? On the other hand, we have XEmacs code base, which is very well designed and abstracted, OO actually[1], but it is written in C with a bunch of ugly macrology on top because it is rather hard to object-orient plain C code... Life is hard :-) Footnotes: [1] That's the Second Big XEmacs Existential Question. I wish the codebase were rewritten in C++, but the Schemers "object" to that (ha ha, didn't actually mean it to turn out as a joke :-) -- 5th European Lisp Workshop at ECOOP 2008, July 7: http://elw.bknr.net/2008/ Didier Verna, didier(a)lrde.epita.fr, http://www.lrde.epita.fr/~didier EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (0)1 44 08 01 85 94276 Le Kremlin-Bic�tre, France Fax.+33 (0)1 53 14 59 22 didier(a)xemacs.org |