Re: Thoughts on Project Structure



I think that, more than many other projects, the maxima program
lends itself to be divided into sections, with different people
taking primary responsibility for these sections.  This is not
to deny the advantage of having a single leader, but just
to say that quite a few things can be done by distributed
programmers. Coming up with a new release periodically requires
coordination and perhaps someone acting as a leader.

   Why do I say it can be divided? ...
Here's why.
  The lisp code is divided up into files, each one of which (or
perhaps a collection of a few files) defines some capabilities.
For example, numerical evaluation of special functions. Some
require the correct behavior of many other parts, but through
interfaces, often declared in the files themselves, though
not always.  (Integration is in a few files, but uses other
capabilities including simplification, rational functions,
polynomial arithmetic, etc.)  It is possible for someone to
be "in charge of integration"  to ask someone who is
"in charge of simplification"  to add a feature.


There are a number of modules that could, in principle,
be entirely replaced by new code: re-doing polynomial
arithmetic;  re-doing the display; re-doing the front-end
language parser.  Even though some of these are at the
core of the system, they act as dispatchers to other
programs.  The model, for those who have learned lisp or
scheme up to a modest level of achievement, is one of
a read-eval-print loop.  And hanging more stuff off the
eval part is always possible.

A more sophisticated view of what maxima does would have
to include the side effects of eval-ing a command to
some kind of cummulative data base of facts, definitions,
etc.

There are other portions of such a project that I
think of as entirely separate, namely the porting to
different lisps and machines.  This sometimes requires
a longitudinal look at ALL the files to fix dependencies
of some sort.  It should not require such an effort,
but in reality, recompiling 200 files or so on a new
machine/host system ordinarily finds "something".

RJF



Kevin Cosgrove wrote:

>     I agree on all points.
> 
> On 13 October 2001 at 10:45, Jay Belanger <belanger@truman.edu> wrote:
> 
> I think that that being the actual founder isn't that crucial, the
> important thing is having a dedicated skilled leader as the voice of
> authority. 
> 
> 
> I think this may be where Maxima ends up, but I don't think it's an
> ideal situation.  In my experience, having a single leader making the
> final decisions has better results than working off of a group
> consensus.  There are people here who are certainly capable, although
> I don't know if they'd be willing to take on the task.
> So Maxima may end up being run by committee, but I don't think that
> should be the first choice.
> 
> Jay
> 
> _______________________________________________
> Maxima mailing list
> Maxima@www.math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima
>