axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] Axiom meeting at ISSAC


From: Stephen Wilson
Subject: Re: [Axiom-developer] Axiom meeting at ISSAC
Date: 02 Aug 2007 12:06:16 -0400
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

Hi Ralf,

The idea of exploring the use of continuations came about as a result
of considering that there is high probability it could be used at the
algebra level to implement provisos in a natural way.

It was further motivated by the possibility of representing SPAD
programs in Continuation Passing Style internally within the compiler.
Now, this approach does not require continuations in SPAD itself to be
useful.  Rather, if a CPS representation is used, continuations become
that much easier to integrate into the language.

Ralf Hemmecke <address@hidden> writes:
> Could you demonstrate some SPAD-code-to-be which uses continuations
> and solves a problem that cannot be solved easily by an Aldor
> equivalent?

I am not to sure what you want me to give. Writing a lot of pseudo
code is not terribly useful in all cases. Knuth wrote in TAOCP in
section 1.4.2 "It is rather difficult to find short, simple examples
of coroutines that illustrate the importance of the idea; the most
useful coroutine applications are generally quite lengthy".  Now,
coroutines are a generalization of generators, and continuations are a
generalization of coroutines.  I am having a though time thinking
about a useful, simple, example.  I could give an example of how
continuations could be used to implement generators which would likely
be short and perhaps informative -- is that what you are looking for?


> Do you think that SPAD-continuations are important for implementing
> mathematical algorithms? Examples?

Well, I think Tim already gave a better list than I could off the top
of my head:

 http://lists.gnu.org/archive/html/axiom-developer/2007-07/msg00169.html

Just remember that coroutines are basically just a powerful form of
control flow which also happens to lend itself nicely to parallel
execution (you can use the concept of continuation to implement the
notion of a thread) and analysis by a compiler.  So, yes, I think they
can be important for implementing algorithms.



Take care,
Steve





reply via email to

[Prev in Thread] Current Thread [Next in Thread]