[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gcl-devel] Re: inlining
From: |
Camm Maguire |
Subject: |
[Gcl-devel] Re: inlining |
Date: |
13 Apr 2006 10:48:40 -0400 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Greetings!
This should not be too difficult, but I think it would require a
modification we've discussed before -- keeping the lisp source around
post compilation.
In fact, I don't see whay a cl compiler could not do as in scheme as
mentioned in one of your other posts and automatically inline mutual
recursion too.
Currently, GCL will inline lambdas with onla a small subset of the
possible lambda list special symbols (e.g. &optional et.al.) present.
Take care,
Robert Boyer <address@hidden> writes:
> It seems to me that ideally and eventually GCL could provide
> the possibility of inlining calls to a user's Lisp function,
> say foo, for the mere expression (declare (inline foo)).
>
> I am not sure whether this has ever been done really well
> for any programming language, but it is something that
> programmers do in their heads all the time, but with many
> mistakes. In a nice, clean mathematical setting such as the
> lambda calculus, it is a piece of cake, to inline,
> logically, in principle. But as soon as one starts
> manipulating bound variables, historically terrible mistakes
> occur. Throw in order of evaluation issues, keywords, and
> all the glories of Common Lisp and you have something that
> is almost unthinkably hard in the general case. In the old
> days, when every reference to memory cost a uniform time,
> say, one microsecond, inline optimizations could be
> fabulously effective. Now, with so many different caches,
> pipes, etc., I don't really know.
>
> Bob
>
>
>
>
--
Camm Maguire address@hidden
==========================================================================
"The earth is but one country, and mankind its citizens." -- Baha'u'llah
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gcl-devel] Re: inlining,
Camm Maguire <=