axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Re: this is open source


From: Ralf Hemmecke
Subject: Re: [Axiom-developer] Re: this is open source
Date: Fri, 16 Dec 2005 13:34:59 +0100
User-agent: Thunderbird 1.4 (X11/20050908)

They can do that privately in their own source code environments
or they can do it more publicly via the Axiom Wiki. All types
of Axiom-related programming are now possible through the web
including Lisp, Boot, Spad, Aldor and Axiom interpreter scripts.
For a beginner these are too many languages to choose from.
People need guidance when to use which, and which language will
be supported on the long run.  (Nobody wants to invest time in a
language that will soon be discontinued.)

Isn't that what they said about Fortran? :)

As far as I am concerned none of these languages should be
discontinued. They are all essential to the way Axiom is
built. (Tim Daly disagrees about Boot, but that is a different
story.)

Well, I think I rather agree with Matthias and Tim. The fewer languages I have to learn in order to get some mathematical stuff running, the better.

Boot is something that is maybe a bit easier to learn than LISP, but
it is not essential for Axiom in the long run. But I would rather have replaced BOOT by Aldor instead of LISP if this were possible.

Learning Lisp is one thing in itself. If you program at all, you
should at least know something about Lisp.

Yes, I know some basics in LISP, but I would not say I can speak it fluently. And although LISP is at the moment very important for Axiom, wouldn't it make sense for the future to replace more and more LISP by some higher level language? I consider LISP a kind of assembler language. Sure one can do all kinds of stuff with it, but Axiom actually exists because it is not LISP. Axiom provides a very nice language SPAD/Aldor. Anything below that is just hairy details for axiom-developers/maintainers. And if these hairy details could be made less hairy then that is certainly better. It is also better in view of getting more people become axiom-developers. As Matthias said, a new person just doesn't easily know where to start and thus is lost as an axiom-developer.

So making the build process simpler is essential to accelerate the development.

Learning Axiom interpreter scripts is essential for all but
trivial use of Axiom.

I hope some day we will just have Aldor and Bnatural (which I think would be a library written in Aldor).

Learning Spad is essential for Axiom library programming.

Right, but unfortunately SPAD is not Aldor. So which language to choose?
Right, spad and aldor are very much the same, but unfortunately there are some tiny differences. It would make me somehow happy if Axiom states somewhere that SPAD is deprecated and for new code Aldor should be preferred.

Learning Boot is simple because it is essentially a simplified
form of Spad - an intermediate language between Lisp and Spad.
Boot is used only internally in the Axiom compiler and interpreter.

Yes, Boot is internal, and until I really want to learn how the compiler and interpreter work I don't learn it. Well, I think it would also lead to a paragraph in the developer's guide. What language is used for what internally. Tim, is there already such a paragraph somewhere?

I think that it is the nature of Axiom that it's development
environment can not be made much simpler than this. There is
the old saying: Everything should be as simple as possible,
but not simpler. :)

As simple as possible: Axiom has a kernel in written in C or LISP and the rest is Aldor. Bill, would you consider that too simple?

OK, I agree, Axiom has many more languages:
(La)TeX
awk
sh
Makefile
noweb
perl(?)
awk
C
python(?)
etc...

But these languages are existing languages in their own right. Axiom adds BOOT, SPAD, the Interpreter language, Aldor. Aldor could even be seen to belong to the list above.

So what Axiom should add is a nice mathematical interface. Type mathematics, get out mathematics. Bnatural would be a first approach to this. Hopefully there will be some timeslot in the near future where someone could implement this.

Best regards
Ralf




reply via email to

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