I implemented Ackermann's function A(m,n), a recursive function with
scary performance characteristics, based on the definition given at
wikipedia involving lots of +1 and -1 operations... A(0,n) takes
constant time to compute assuming bounded integer sizes, A(1,n) takes
linear time, A(2,n
Hello!
(Was away for the weekend, but back hacking all week now.)
On Thu 30 Jul 2009 22:18, Neil Jerram writes:
> Daniel Kraft writes:
>
>> Lambda arguments are still always dynamically bound, which is quite a
>> pity as it inhibits tail-call optimization;
Indeed, a pity. Though self-tail cal
Hi,
On Fri 31 Jul 2009 01:54, Ken Raeburn writes:
> On Jul 30, 2009, at 16:18, Neil Jerram wrote:
>> The main thing I believe that makes a fluid different from a normal
>> variable is that a fluid can have a different value in each thread -
>> which is not relevant to Elisp.
>
> Not yet, at leas
Hi Daniel,
On Fri 31 Jul 2009 08:09, Daniel Kraft writes:
> Of course, anyone interested in performance can also use lexical-let
> instead of let and also get rid of all this performance problems as well
> ;) But the same argument may hold for the threading argument, too, so
> if you want to wr
Andy Wingo wrote:
Daniel Kraft writes:
Lambda arguments are still always dynamically bound, which is quite a
pity as it inhibits tail-call optimization;
Indeed, a pity. Though self-tail calls can be optimized... still,
irritating.
Yes, but I fear this will complicate the compiler a lot and
Hello Daniel,
On Fri 31 Jul 2009 08:02, Daniel Kraft writes:
> Hi Neil,
>
> Neil Jerram wrote:
>> Daniel Kraft writes:
>>> Lambda arguments are still always dynamically bound, which is quite a
>>> pity as it inhibits tail-call optimization;
>>
>> This prompted me to wonder if using fluids is t
Hi Daniel,
On Fri 31 Jul 2009 17:14, Daniel Kraft writes:
> Hi Ken,
>
> Ken Raeburn wrote:
>> On Jul 31, 2009, at 02:02, Daniel Kraft wrote:
> Iterative prime sieve, (length (find-primes-to 5000)):
> Scheme: 0.42s
> Elisp, no void checks, lexical let: 3.40s
> Elisp, no void ch
Hi Neil,
On Thu 30 Jul 2009 23:10, Neil Jerram writes:
> Andy Wingo writes:
>
>> On Wed 22 Jul 2009 23:48, Neil Jerram writes:
>>
>>> I have two overall questions in mind.
>>>
>>> - What do you have in mind as regards releasing this? Even though it
>>> looks good, I think it would be better
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1
Ken Raeburn wrote:
> I implemented Ackermann's function A(m,n), a recursive function with
> scary performance characteristics, based on the definition given at
> wikipedia involving lots of +1 and -1 operations... A(0,n) takes
> constant time to compu
Hi Daniel,
On Wed 29 Jul 2009 14:50, Daniel Kraft writes:
> For the timings, I used a simple prime sieve implemented imperatively
> with while and set's, because the recursive one would put elisp without
> tail-calls at a disadvantage (and because lexical binding does not yet
> work for lambda a
Hi Ken,
As a voice from the the sidelines, I just want to say thanks for all
your input!
On Thu 30 Jul 2009 05:23, Ken Raeburn writes:
> Would [open-coding primitives] interfere with possibly blending Scheme
> GOOPS code with Elisp someday? Or is the generic support there at a
> lower level tha
On Aug 4, 2009, at 09:52, Marijn Schouten (hkBst) wrote:
A more idiomatic way to implement it that also works in other
Schemes is:
I know, shame on me for using "set!" in my code. :-)
I was aiming for code very similar between Lisp and Scheme versions,
so that (insert some hand-waving here)
On Aug 4, 2009, at 06:17, Andy Wingo wrote:
Hello!
(Was away for the weekend, but back hacking all week now.)
Welcome back!
On Thu 30 Jul 2009 22:18, Neil Jerram writes:
Daniel Kraft writes:
Lambda arguments are still always dynamically bound, which is
quite a
pity as it inhibits tail
On Aug 4, 2009, at 11:47, Andy Wingo wrote:
In any case, because of dynamic scoping and the expected behaviour of
flet to change possibly primitives during its extent, I think we
can't
do anything like that for Elisp (except providing guile-primitive for
hand-optimizing such calls).
Hmm.
Andy Wingo wrote:
Don't conjecture, profile ;-)
I'd like to do so, but it seems that Guile does not include a profiler,
does it? A search turned up some patch/code, but I didn't get the
impression it would work very well -- do you have some hints, getting
some real profiling would be very u
Hi Mike,
Another niggle:
On Sat 01 Aug 2009 19:58, Mike Gran writes:
> On Fri, 2009-07-31 at 01:21 +0200, Ludovic Courtès wrote:
>> "Michael Gran" writes:
>> > +#define SCM_MAKE_CHAR(x) ({scm_t_int32 _x = (x);\
>> > + _x < 0
On Tue 04 Aug 2009 18:12, Ken Raeburn writes:
> On Aug 4, 2009, at 11:47, Andy Wingo wrote:
>>> In any case, because of dynamic scoping and the expected behaviour of
>>> flet to change possibly primitives during its extent, I think we
>>> can't
>>> do anything like that for Elisp (except providin
On Tue 04 Aug 2009 18:17, Daniel Kraft writes:
> Andy Wingo wrote:
>> Don't conjecture, profile ;-)
>
> I'd like to do so, but it seems that Guile does not include a profiler,
> does it? A search turned up some patch/code, but I didn't get the
> impression it would work very well -- do you have
18 matches
Mail list logo