From: Francogrex
Subject: Re: Axiom or Maxima?
Date: 
Message-ID: <f4340b19-79e2-4337-bb9f-9a32d03011de@y17g2000yqn.googlegroups.com>
On Jun 30, 7:37 pm, Waldek Hebisch <·······@math.uni.wroc.pl> wrote:
> Franco, you keep asking the same question in varous places.  If
> you want a poll say so clearly.  I have gave you my opinion earlier,
> so I will only tackle the new aspect, that is Lisp.

That's because I haven't got a straightforward answer to the question.
What I was hoping for is an honest comparison coming from someone's
experience.

> ...Axiom uses three languages:
> Lisp, Boot (which is more or less syntactic sugar over Lisp), and
> Spad (which is a statically, explicity typed language with
> advanced type system and function overloading).  Boot and Spad
> compilers are written in Boot and generate Lisp...

That makes me wonder why didn't they do all in common lisp? Was it not
efficient enough? Is spad (or aldor) a better language to write CAS?

From: Richard Fateman
Subject: Re: Axiom or Maxima?
Date: 
Message-ID: <4A4A6B07.3040908@cs.berkeley.edu>
Francogrex wrote:
> On Jun 30, 7:37 pm, Waldek Hebisch <·······@math.uni.wroc.pl> wrote:
>> Franco, you keep asking the same question in varous places.  If
>> you want a poll say so clearly.  I have gave you my opinion earlier,
>> so I will only tackle the new aspect, that is Lisp.
> 
> That's because I haven't got a straightforward answer to the question.
> What I was hoping for is an honest comparison coming from someone's
> experience.

first of all, anyone interested in the previous troll on 
sci.math.symbolic, should look there.

secondly, if you've come for an honest comparison, you haven't been 
reading comp.lang.lisp for long.
> 
>> ...Axiom uses three languages:
>> Lisp, Boot (which is more or less syntactic sugar over Lisp), and
>> Spad (which is a statically, explicity typed language with
>> advanced type system and function overloading).  Boot and Spad
>> compilers are written in Boot and generate Lisp...
> 
> That makes me wonder why didn't they do all in common lisp?

Lisp can be used as a vehicle for defining languages that are more 
suited to a particular application.  Indeed, many large projects are 
conceived of as a layer upon a special designed language implemented in 
Lisp, suited for that project implementation. Like Axiom.


> Was it not
> efficient enough?

I doubt that was the reason. though some people (usually erroneously) 
believe that if one gets a program working in Lisp, then "rewriting it 
in language X" is going to make it better/easier to maintain/faster/ 
portable/ ...

  Is spad (or aldor) a better language to write CAS?

Obviously some people thought so.
From: Martin Rubey
Subject: Re: Axiom or Maxima?
Date: 
Message-ID: <d9k52t7a88.fsf@ada0.ifam.uni-hannover.de>
Francogrex <······@grex.org> writes:

> On Jun 30, 7:37 pm, Waldek Hebisch <·······@math.uni.wroc.pl> wrote:
>> Franco, you keep asking the same question in varous places. If you
>> want a poll say so clearly. I have gave you my opinion earlier, so I
>> will only tackle the new aspect, that is Lisp.
>
> That's because I haven't got a straightforward answer to the question.
> What I was hoping for is an honest comparison coming from someone's
> experience.

Hm, are you satisfied with the answer given by Waldek and myself what
concerns axiom (FriCAS) now?

I'm afraid, a direct comparison Maxima vs FriCAS is rather difficult,
since they are very different systems.  One of the very big differences
is -- as I understand them -- that Maxima is essentially untyped (i.e.,
it is probably difficult to distinguish between 0 the polynomial and 0
the integer, or, put differently, there are very few types, namely:
expressions, matrices, probably polynomials), whereas in FriCAS
maintains a rather huge hierarchy of types, and functions producing
types: "Polynomial" is a function that takes an argument of type "Ring",
which could be Integer, Float, Matrix Integer, PrimeField 1783, etc.

>> ...Axiom uses three languages: Lisp, Boot (which is more or less
>> syntactic sugar over Lisp), and Spad (which is a statically,
>> explicity typed language with advanced type system and function
>> overloading). Boot and Spad compilers are written in Boot and
>> generate Lisp...
>
> That makes me wonder why didn't they do all in common lisp? Was it not
> efficient enough? Is spad (or aldor) a better language to write CAS?

Richard gave already a correct answer.  Efficiency is certainly not a
reason, because SPAD compiles to common lisp... I think a there are at
least two good reasons for the existence of SPAD/Aldor:

1) this way there is only one language (well, roughly) for library code
   and for communication with the interpreter.  Using Common Lisp for
   communication with the interpreter would very likely be not what
   mathematicians expect.  It is "nice" to be able to use infix and
   prefix notation.  (I'm not saying that Common Lisp would be a bad
   choice though!  I'm pretty sure that one could design a nice lispy
   interface, too.)

2) SPAD/Aldor is geared towards mapping mathematical dependencies, as
   indicated with the function "Polynomial" above.  Very likeyl one
   could do that in lisp, too, but sometimes a framework (for "bad"
   programmers) can be very helpful.


Hope this helps,

Martin
From: Francogrex
Subject: Re: Axiom or Maxima?
Date: 
Message-ID: <a6fca551-680d-4cad-ad52-cfc09e53cb20@z14g2000yqa.googlegroups.com>
On Jun 30, 10:11 pm, Martin Rubey <········@yahoo.de> wrote:
> Hm, are you satisfied with the answer given by Waldek and myself what
> concerns axiom (FriCAS) now?

Yes thanks.
From: Richard Fateman
Subject: Re: Axiom or Maxima?
Date: 
Message-ID: <h2dsv6$9n2$1@aioe.org>
Martin Rubey wrote:
...
> 
> I'm afraid, a direct comparison Maxima vs FriCAS is rather difficult,
> since they are very different systems.  One of the very big differences
> is -- as I understand them -- that Maxima is essentially untyped (i.e.,
> it is probably difficult to distinguish between 0 the polynomial and 0
> the integer, or, put differently, there are very few types, namely:
> expressions, matrices, probably polynomials), 

yes, although there are different ways of storing 0, e.g. as a taylor 
series, a polynomial, or an expression,  the expression 0  itself is 
generally not tagged with information that might indicate that it is 
(say) an element in a finite field {0,1,2,3,4}  of size 5 or ...

> whereas in FriCAS
> maintains a rather huge hierarchy of types, and functions producing
> types: "Polynomial" is a function that takes an argument of type "Ring",
> which could be Integer, Float, Matrix Integer, PrimeField 1783, etc.

This has potential advantages. Most users of systems like Mathematica do 
not know the difference between a finite field and a corn field, and so 
the advantages are somewhat muted in practice.

....

> 
> 2) SPAD/Aldor is geared towards mapping mathematical dependencies, as
>    indicated with the function "Polynomial" above.  Very likeyl one
>    could do that in lisp, too, but sometimes a framework (for "bad"
>    programmers) can be very helpful.

Initial work on SPAD predated the refinement of the common lisp object 
system design. which might be a suitable framework.  There has been at 
least one attempt to do the "right thing" more specifically in CLOS (by 
Rich Zippel when he was at Cornell), but it was not funded. So whether 
one could/should write a new CAS in Lisp using CLOS has not been 
examined fully.  (I've defined a package for "more generic" arithmetic 
that pushes that envelope a bit.)

> 
From: Pascal J. Bourguignon
Subject: Re: Axiom or Maxima?
Date: 
Message-ID: <87skhhtq5u.fsf@galatea.local>
Francogrex <······@grex.org> writes:

> On Jun 30, 7:37�pm, Waldek Hebisch <·······@math.uni.wroc.pl> wrote:
>> Franco, you keep asking the same question in varous places. �If
>> you want a poll say so clearly. �I have gave you my opinion earlier,
>> so I will only tackle the new aspect, that is Lisp.
>
> That's because I haven't got a straightforward answer to the question.
> What I was hoping for is an honest comparison coming from someone's
> experience.

Here is a straighforward answer:    Axiom < Maxima


> That makes me wonder why didn't they do all in common lisp? 

Because that's the way any lisp application is developed.

> Was it not efficient enough?  Is spad (or aldor) a better language
> to write CAS?

Of course, or it wouldn't have been used.

-- 
__Pascal Bourguignon__
From: Martin Rubey
Subject: Re: Axiom or Maxima?
Date: 
Message-ID: <d9fxdho2ij.fsf@ada0.ifam.uni-hannover.de>
···@informatimago.com (Pascal J. Bourguignon) writes:

> Francogrex <······@grex.org> writes:
>
>> That's because I haven't got a straightforward answer to the
>> question.  What I was hoping for is an honest comparison coming from
>> someone's experience.
>
> Here is a straighforward answer:    Axiom < Maxima

That's lexicographic, right :-? 

Martin
From: Pascal J. Bourguignon
Subject: Re: Axiom or Maxima?
Date: 
Message-ID: <873a9htn9h.fsf@galatea.local>
Martin Rubey <········@yahoo.de> writes:

> ···@informatimago.com (Pascal J. Bourguignon) writes:
>
>> Francogrex <······@grex.org> writes:
>>
>>> That's because I haven't got a straightforward answer to the
>>> question.  What I was hoping for is an honest comparison coming from
>>> someone's experience.
>>
>> Here is a straighforward answer:    Axiom < Maxima
>
> That's lexicographic, right :-? 

Yes, but foremost, it's a straignforward answer, and a honest
_comparison_, coming from someone's experience.  Well I've got some
experience, if not in Maxima or Axiom...

-- 
__Pascal Bourguignon__