[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Axiom-developer] RE: Leo, LP and Axiom
[Axiom-developer] RE: Leo, LP and Axiom
Mon, 28 May 2007 20:19:41 -0400
I am continuing the discussion of the use of Leo in Axiom with
the developer of Leo, Edward Ream on the Leo SourceForge
forum. Ed is reluctant to participate directly in this email list.
He would prefer to work one-on-one to develop some ideas about
how best to use Leo with noweb and Axiom. But I also want to
pass some of this discussion along here since you may not find
it especially convenient or find sufficient motivation to participate
directly in the Leo forum where this is being discussed.
If anyone has any objection to this arrangement, please let me
RE: Leo, LP and Axiom
By: Bill Page (billpage) - 2007-05-28 20:09
Edward, thank you for continuing this thread on Leo and Axiom.
Aside: Has anyone ever expressed to you an opinion that
interacting this way via a web forum is rather awkward?
It seems archaic to me compared to the email lists where
I interact with all of the other projects. How did Leo
end up doing things this way?
"Discussion of Leo by those who don't use it is distasteful."
You wrote "by" so I presume that you mean that you find what
people say about Leo who don't really know anything about Leo
distasteful? Well I can certainly understand that point of view
after reading through almost all of the Leo thread on slashdot!
But I do not have very high expectations for such wide open
Of course discussing Leo *with* people who don't use it is a
normal part of promoting the idea. I think very few ideas
actually sell themselves.
"There are so many misconceptions about Leo that I despair of
knowing where to begin."
I think the obvious place to begin is always with examples. But
I must admit that I was a little taken-a-back by the comment by
Ralf Hemmecke (an Axiom developer whom I otherwise greatly respect)
that he did not think that 'LeoPy.leo' qualified as a literate
program at all. I think he was looking for something "pretty"
and "publishable quality" (not his words) such as the LaTeX that
one might see as output from Knuth's web or from noweb, but did
not find it. Of course there is a section of the Leo documentation
that specifically addresses this in reference to "weave", but I
am sure that he did not find that convincing.
"The attitude on the list seems to be that using traditional LP
is some kind of major advance in programming."
Well, the Axiom developers are acutely aware that no other
computer algebra project has ever committed all of it's source
code to a literate format. This is also underlined by the fact
that a large part of Axiom is actually written in Lisp and the
Lisp community has been one of the most resistant to the idea
of literate programming from the very beginning.
If there is any really argument to be made here, then it is
that traditional LP would be or should be a major advance over
the way computer algebra systems have been built and tested in
the past. I have not heard any serious attempts on the Axiom
developer list to apply this assessment to programming in general.
The problems that LP is supposed to solve in Axiom arises from
Axiom's long history and origin as a very active research project.
A lot of the code in Axiom is over 30 years old and most of it
was never documented properly. Tim Daly - a lead Axiom developer -
was one of the people involved in programming Axiom during these
early days and it is at least in part his experience of revisiting
now code that he wrote then, and realizaton that if only some
additional effort had been placed on documenting the original code
*during* it's development, then we would not be in the situation
we are today with Axiom.
Another thing that makes the application of LP to Axiom a little
unique is that a large part of the Axiom code (the Axiom library)
is actually meant to directly encode concepts and theorems of
mathematics. Mathematicians are quite used to communicating new
algorithms and proving new theories in the form of research papers.
It is the desire of the Axiom developers that the approach to LP
used in Axiom should directly support this mode of documentation
of Axiom code.
"Bill, I suggest that you abandon, at least temporarily, the effort
to convert your colleagues to Leo."
I have no idea if or when one or more of the other Axiom developers
will take an active interest in Leo however I would like to reserve
the right to continue this discussion in parallel on the Axiom developer
email list even without your direct participation and in spite of an
apparent disinterest on the part of other Axiom developers. The main
reason for this is that I would like to include a record of these
discussions in the Axiom email archives. I have come to rely on these
archives as the main means of help to maintain some long term continuity
in my input to the Axiom project.
"Instead, I would be happy to help make Leo a friendlier host (for you).
This will involve some discussion about the best work flow for using
noweb. There are several alternatives that we can discuss at leisure."
This approach is acceptable to me. I am very interested on your views
about how best to use noweb in conjunction with Leo. I don't have much
"leisure" these days :-) but I would like to set as an objective the
actual creation of a trial Leo-based source repository for Axiom. Of
course this might take some time if I cannot attract anyone else from
the Axiom project to help.
In any case, could you please outline how you would like to go about
this? For instance, do you see us as continuing to interact via this
forum? Do you think it would it be useful to setup a new branch of
the Axiom repository to support and share this work? Do you anticipate
that there will be modifications to Leo as well as to the structure
of the Axiom source code? If so, should these changes be maintained
in a separate branch of Leo development?
Thanks again for offering to work with me on using Leo with Axiom.
- [Axiom-developer] RE: Leo, LP and Axiom,
Bill Page <=