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?
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.
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
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.)
>
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__
···@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
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__