Hi Krystian,

On 11/03/14 09:36, Krystian Bacławski wrote:> Anything you can do to limit 
FriCAS library dependencies on BOOT and 
> Lisp code would be a win in long term. If we eventually decide to move 
> away from Common Lisp as runtime environment, every function we use from 
> CL library will need to be rewritten.

I have come across (and occasionally used myself) Lisp calls such as:

sayTeX$Lisp "hello"      
mathObject2String$Lisp      
ATOM(expr)$Lisp     break down an expression into atoms
trapNumericErrors     myTrap1(ff:DF-> DF, f:DF):DF ==
s := trapNumericErrors(ff(f))$Lisp :: Union(DF, "failed")
outputTran$Lisp      
COMPLEXP(x)$Lisp     Test if x is complex number 

If people on this list thought it was a useful thing to do I could search 
for "$Lisp" in the library and make a more comprehensive list. I think it 
would then need those more knowledgeable than me to define their 
purpose/input/output definitions and to propose how they can be replaced by 
SPAD code (given the 'suboptimal' state of the documentation I'm guessing 
its not already documented). If that was done I could help out in doing the 
replacements.

> Note that BOOT language is a thin 
> abstraction layer on top of CL. There's plenty of BOOT code in 
> src/interp that is not directly tied to the compiler. It could be 
> possibly rewritten into SPAD. My personal favourite, as for today, is 
> OutputForm domain. It converts data into s-expression and forwards 
> processing directly to BOOT code in src/interp/i-output.boot (~2400 
> LOC). I see no reason why it couldn't be rewritten into SPAD. Oh, by the 
> way, current implementation of mathprint function is really buggy.

I have come across OutputForm when I wrote HTMLFormat which extends 
OutputForm so I do have some previous knowledge although I'm no expert. If 
the consensus on this list were that it were useful then I could look at 
it. I assume that it could not be completely replaced by SPAD code in that 
it would still require some interface to non-library code. So it would 
require someone to define this interface for me.

Martin

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to