Maxima, ECL, asksign; was: Re: reduce



mabshoff wrote:

> On Jan 3, 11:27?am, Robert Dodier <robert.dod... at gmail.com> wrote:

> > Hmm, what is "this possibility" ? I don't understand.

> I meant embedding Maxima into a library extensions via ecl. You stated
> to the best of my recollection that this would be troublesome due to
> asksign since there would be the need on occasion by the user to
> interact with the integration/limit calculation - unless I
> misunderstood you :)

OK, I don't remember what I might have said, probably not too
important.
Instead let me spell out my current thoughts about the situation.

Maxima + ECL seems to work OK at this point so I guess you could
indeed link in Maxima via CFFI or some other C interface.
(Although there are two layers of glue here, right? Lisp -> C and
C -> Python; seems like it could be messy.)
asksign would presumably still interfere, but it wouldn't
be any more of problem than it is now.

About disabling asksign, I made an attempt to do that in a non-
intrusive
way, by having asksign throw an exception back to a high-level
handler which could construct a conditional expression.
(The code is in share/contrib/noninteractive/.) That sort of works,
except that it clogs up the assume system (which eventually
stops working). Also, the scheme inherits assume's weakness.

So at this point I think it would be necessary to revise every
call to asksign to construct a conditional expression when asksign
is disabled. That would be tedious --- there are something like 100
calls to asksign or similar functions throughout the core code ---
but it seems straightforward. I might try to work on that in 2009.

FWIW

Robert Dodier