[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Axiom-developer] RE: AxiomUI development process
From: |
Kai Kaminski |
Subject: |
Re: [Axiom-developer] RE: AxiomUI development process |
Date: |
Mon, 27 Jun 2005 10:05:09 +0200 |
User-agent: |
Mozilla Thunderbird 1.0.2 (Macintosh/20050317) |
Hi Bill!
Bill Page wrote:
I believe that it would be good to keep AxiomUI separate
from Axiom, hence I have already asked for a new project at
Savannah. If you disagree, we can always remove the project
again. The reason for this is that it allows me to get up
and running faster (I hope).
I don't really have a problem with that. My view is that as
one of the project "mentors" I have agreed to be more vocal
about my advice (especially when you ask) but I don't intend
to try to influence your work in on this project in any other
way except as I would any other open source colleague. This is
open source development and the AxiomUI project is your show.
You should use whatever open source tools that you find useful
and efficient, e.g. Savannah, SourceForge, MathAction or whatever.
I'd certainly appreciate if you were very vocal about your advice. I
also reconsidered and am now convinced that I should probably put
AxiomUI in the Axiom source tree. This leads to the next question:
Should we have a new branch of AxiomUI?
...
Which license do we want to use? Do I have to assign the
copyright to someone?
For maximum compatibility with Axiom itself, I would suggests
a BSD-style license based on the Axiom main license. Axiom
already has multiple open source licenses and I don't see any
harm in adding a new one compatible with the existing licenses
but specific to AxiomUI and more up to date, if you think that
might be a good idea.
I must admit that I have no good understanding of the differences
between all the open source licenses. I have a rough idea about GPL and
BSD, but that's about it. I'll just look at Axiom and try to do the same
if no-one stops me.
Finally I would like to avoid the Axiom build system.
I haven't really seen it yet, but Axiom doesn't build on
my favourite box anyway
Forget about this. I'll try to put everything into the Axiom source tree
and integrate it with Axiom's build system.
I think Axiom has been build on MAC OS/X with some tweaking.
(check the axiom-developer email archives). If the current
release does not build on your system out-of-the-box, then
I think you should report the problem to the axiom-developers :)
I did and I found some discussions but no report of success. I'll write
an email to the Axiom-OS X people.
and besides makefiles aren't very lispy.
Not true, although I agree there are other similar tools
implemented in lisp, just like there similar tools for Java
(e.g. ANT). But make is (almost) universal in open source.
That's not quite what I meant. In a C project with makefiles the typical
workflow is roughly like this:
- write some code
- run make
- run program => crash/bug/...
- iterate
With Lisp it's different. I load the libraries and the existing code in
my Lisp image and modify everything while it's running. For example I've
done some simple experiments with Araneida (a CL web server) and never
had to restart it even once. In that sense makefiles are unlispy.
If we decide to use it, someone will have to help me with
the makefiles. I haven't used any for at least two or three
years.
Tim has taken care of this problem by sending me a makefile with comments.
I understand that we need excellent documentation, but I'm
not sure how Lisp and literate programming go together.
Lisp and literate programming work just fine. For example:
see the Axiom source code. :)
I'm more concerned with using Slime and literate programming at the same
time. But I'll probably do it anyway.
In that case I would love to hear how your typical development
work goes. How do you use slime or just any CL environment with
noweb?
As far as I know, and could determine from a quick web search, no
one does this in an integrated manner. But you can certainly use
emacs to write a noweb document. Automating the noweb weave to
generate documentation and the noweb tangle to generate lisp source
is possible. Then using Slime to develop and test the lisp code is
easy. But properly re-inserting the new lisp code back into the
noweb document along with appropriate text would require some
extra discipline.
The latter is exactly what I'm worrying about. But I'll find a way.
The one thing I feel strongest about is to separate Axiom's
mathematical core and its user interface into separate processes.
...
3) Somebody else might want to develop another GUI. If we modify
Axiom so that it speaks some sexp-based protocol that's not a
problem.
I think modifying Axiom so that it speaks "some sexp-based
protocol" as well as it now produces LaTeX is probably a be *big*
project that would require quite deep knowledge of Axiom internals.
It is probably beyond what you would want to get into during the
time frame of the Summer of Code funded part of this project.
There has been some previous work by NAG to implement OpenMath
as an output format for Axiom but even reviving that is very
likely another *big* project.
I'm surprised that this should be difficult. After all Axiom is written
in Lisp and presumably has all its data in Lisp data structures anyway.
But I'll look into this. If it's too hard, I'll do something else.
I think that in the initial design of AxiomUI you should assume
that Axiom will deliver it's output to the back-end gui process
in LaTeX format. To do otherwise would mean having to duplicate
all of what Axiom does right now in rendering LaTeX.
Actually I might keep LaTeX format for math output, because jsMath can
render that directly. But Axiom has output other than mathematical
expressions, e.g. plots.
Kai