Riccardo GUIDA wrote:
> 
> Thoughts:
> 
> * The Aldor compiler is an improved version of the Spad compiler, written by 
> one of its authors. So, as a non-expert, I would blindly tend to say that 
> Aldor compiler is "better" than Spad compiler. At least it has written 
> documentation and, I guess, it should produce faster compiled code (eg by 
> compiling via the C compiler not the lisp one).
> 
> *  Spad syntax is, say, "90% equal" to Aldor, so moving the .spad files in 
> algebra to .as files should not be impossible.
> 
> * I guess the really "hard" problem is "porting" the interpreter to work on 
> the top of Aldor, maybe using its -gloop shell.
> 
> * On this list, I've never heard mentioning this "port to Aldor" even as a 
> long term/dreamy  project, while I've heard hypothetical mentions on  
> rewriting the current fricas interpreter, which should also be "hard".
> 
> So my questions:
> 
> * would "porting" the interpreter on the top of aldor be much more difficult 
> & unrealistic than rewriting the current fricas interpreter?
> 
> * Which solution do you prefer, and, more important, could you somehow 
> explain why?

This "porting to Aldor" thing is more complex than your questions
suggest.  First, Aldor was intended to be "library compiler", so
natural use of Aldor would be to compile FriCAS library.  Clearly
"not impossible", but requires some work.  I view this as main
part of port, because once it is done could use Aldor interpreter
as user interface and get "FriCAS on Aldor" in this way (of course
loosing most of functionality of current FriCAS interpreter).

There is question of desired runtime support ("virtual machine").
Since Aldor can generate Lisp code we could continue to use Lisp
runtime.  With Lisp runtime it should be possible to use
current FriCAS interpreter with minimal changes.  Or we could
try to port to Aldor runtime (working on top of C).  Using
Aldor runtime and compilation via C has advantage to better
speed of compiled code (my guesstimate is that we can gain
factor of 2 compared to sbcl).

You write about porting "interpreter".  Using Lisp runtime
this should be quite small job.  If one want interpreter
on Aldor runtime, then IMO best way is to rewrite
interpreter -- you need it in a language which is compatible
with Aldor runtime.  In other words I treat interpreter
rewrite as preconditiont to port to Aldor.

Before we spent time on port we should think about benefits.
Unfortunatly, this does not look so good.  First, speed
on current Spad code depends on several optimizations
performed by Spad compiler.  Aldor in principle can do
better optimizations, but current Aldor interface
essentially disables all possibilities for optimization.
So in intermediate stages we will get _slower_ code.
Only when port is done and we have "native Aldor"
(as opposed to using Aldor-FriCAS interface) we can
count on faster code and benefit from Aldor
optimizations.
Second, my recent experiments suggest that Spad compiler
compiles about 10 times faster than Aldor compiler.
I would say that Spad compiler is slow, but tolerable.
ATM for me Aldor is "too slow", IMO it needs significant
improvement to compilation speed.
Third, Aldor language is better.  However, there is
a factor here: while better I do not treat Aldor as
kind of ultimate language.  I think that various aspects
of Aldor need improvement.  So there is question
how much effort improvements to Aldor compiler would
take?

Now, which solution I take?  ATM I leave question of
Aldor port open.  As I wrote I consider interpreter
rewrite as precondition to porting intepreter to Aldor,
so before rewrite I see no point in planning/attempting port.
For FriCAS library ("algebra") problem is that at
intermedate stages there is loss, only at the end
we would get benefits.  Important question is
developement of Aldor.  Namely, Aldor compiler is much
larger than Spad compiler, so probaly will require
much more effort.  It seems that currently only
Peter Broadbery is working on Aldor -- I have
informed him about speed problem (and some other).
I must admit that I am reluctant to spent significant
work on Aldor -- simply I have limited time available
and it would compete with work on FriCAS.

-- 
                              Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to fricas-devel+unsubscr...@googlegroups.com.
To post to this group, send email to fricas-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to