From: Cecil Westerhof <Cecil@decebal.nl>
To: help-gnu-emacs@gnu.org
Subject: Re: Using Emacs Lisp for script writing
Date: Tue, 22 Dec 2009 14:51:42 +0100 [thread overview]
Message-ID: <87ljgv3ymp.fsf@Traian.DecebalComp> (raw)
In-Reply-To: 874onj5jxu.fsf@lion.rapttech.com.au
Tim X <timx@nospam.dev.null> writes:
>> I think I will try to write the scripts only in CL. In that way it is
>> easier to share. Otherwise people need to have a CL implementation and
>> Emacs on their system. When there is a situation that an elisp version
>> is a lot more efficient -because of the optimisation for text- I could
>> create two versions. But elisp is of course very handy for extending the
>> functionality of Emacs. :-D
>
> I think that is a wise way to go. My apologies if I sounded too
> 'preachy' or critical of what you are doing.
No problem. I do not mind to be put on the right track. ;-)
> My main motivation was to
> highlight that at this stage, you need to be very careful about
> assessing efficiency and performance.
I'll try to keep that in mind. But compiling the regular expression made
a big difference. Also, I remember someone telling me that lists are not
very efficient. What should I use instead? Or will I found that out in
Practical Common Lisp?
> Lisp dialects are somewhat
> notorious for being easy to learn and very hard to master.
I already experienced a little of it.
> For this reason, I've found other
> resources, such as Practical Common Lisp, CLTL2 and other books really
> useful. I tend to skim them, find the general area and terms I need and
> then go back to the hyperspec to get the precise definition/usage.
Practical Common Lisp I already use. (From there I got the property
list.) From CLTL2 is said:
"The book does not correspond exactly with the ANSI standard: some
details are different; some things from the standard are missing;
and some things from CLtL2 are not in the final ANSI standard.
Programmers should therefore be wary of using it as a reference."
But I'll add it to my (already very big -maybe I need to sift) arsenal.
> I have managed to get myself confused as well by doing this.
> It is best to concentrate on one until you are quite comfortable and
> familiar with it and then move on to the next dialect. Apart from
> reducing the potential for confusion, you can also appreciate the
> pros/cons of the different dialects better.
With different dialects do you mean different Lisp dialects or different
CL dialects? The former I think I do not like, the latter is where I
will aim at. When I write portable code, I can switch to the dialect
that is best for the situation.
> (though I still find elisp and emacs the best
> extensible editor and kitchen sink available!)
I agree. For example I am also using GNUS -just as you I saw-. It is a
lot of work, but I think/hope that when I have GNUS in my fingers, I can
easily make it do what I want instead of what the developer thought I
wanted. ;-)
> good luck
I'll need it. :-D
> P.S. Another advantage to CL is that if you plan to share/distribute
> some of what you are doing, you can compile it to native code. This
> means people don't even have to know you wrote it in lisp. This can help
> overcome the considerable FUD regarding CL that exists out there.
That is a good point. But with clisp that does not work as far as I
know. I tried to install SBCL, but the install process needs Lisp. It
only mention it to do with SBCL and CMUCL. So that can wait until later.
> PPS. Make sure you do put the effort into getting SLIME working.
I already planned that.
Another question. The BBDB and also the example in Practical Common Lisp
use lists for the database. Is this not inefficient? Would a real
database not be better. Not that I want to burn me at the moment on
databases. ;-)
--
Cecil Westerhof
Senior Software Engineer
LinkedIn: http://www.linkedin.com/in/cecilwesterhof
next prev parent reply other threads:[~2009-12-22 13:51 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-16 15:32 Using Emacs Lisp for script writing Cecil Westerhof
2009-12-16 16:24 ` Sam Steingold
2009-12-16 17:18 ` Teemu Likonen
2009-12-16 23:37 ` Cecil Westerhof
2009-12-17 19:08 ` Sam Steingold
2009-12-16 23:04 ` Pascal J. Bourguignon
[not found] ` <mailman.13065.1260980854.2239.help-gnu-emacs@gnu.org>
2009-12-16 23:31 ` Cecil Westerhof
2009-12-17 11:29 ` Cecil Westerhof
2009-12-21 18:35 ` Frank Fredstone
2009-12-21 19:20 ` Cecil Westerhof
2009-12-21 20:57 ` Sam Steingold
2009-12-21 21:13 ` Sam Steingold
2009-12-21 23:06 ` Tim X
2009-12-22 0:46 ` Cecil Westerhof
2009-12-22 11:26 ` Tim X
2009-12-22 13:51 ` Cecil Westerhof [this message]
2009-12-22 15:36 ` Pascal J. Bourguignon
2009-12-22 16:54 ` Cecil Westerhof
2009-12-23 2:50 ` Tim X
2009-12-23 7:38 ` Cecil Westerhof
[not found] ` <mailman.18.1261429198.1956.help-gnu-emacs@gnu.org>
2009-12-22 0:06 ` Cecil Westerhof
2009-12-22 12:51 ` Tim X
2009-12-22 15:42 ` Pascal J. Bourguignon
2009-12-22 17:04 ` Cecil Westerhof
2009-12-22 19:02 ` Pascal J. Bourguignon
2009-12-22 20:49 ` Cecil Westerhof
2009-12-23 3:19 ` Tim X
2009-12-23 6:27 ` Cecil Westerhof
[not found] ` <mailman.21.1261430019.1956.help-gnu-emacs@gnu.org>
2009-12-22 0:28 ` Cecil Westerhof
2009-12-18 21:39 ` Andreas Politz
2009-12-19 10:02 ` David Engster
2014-05-10 5:54 ` mug896
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87ljgv3ymp.fsf@Traian.DecebalComp \
--to=cecil@decebal.nl \
--cc=help-gnu-emacs@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).