[Ecls-list] progress on Maxima + ECL

Robert Dodier robert.dodier at gmail.com
Sun May 25 15:51:20 UTC 2008


On 5/24/08, Juan Jose Garcia-Ripoll <jjgarcia at users.sourceforge.net> wrote:

>  1) The display code has a comment about your fix, saying the change
>  signals an error in nreconc, rplaca, and similar functions. What makes
>  you think so?

2-d (ascii art) display code fails with an error message,
"`checkbreak' not found in `display'".

> Is there a simple, one line test case that causes the
>  error to pop up -- probably printing out a long expression, but I
>  would like to have something concrete to work with.

I found that many (maybe most or all) multiple-line outputs would
trigger the bug. E.g.: expand((a + b)^12)

>  2) Browsing CVS in SourceForge saw that your last patch is related to
>  a number of eval-when statements. In your commit message it says that
>  you remove all invocations of Maxima functions from the eval-when
>  statements. Do you have any clue why that is needed?

Some of the EVAL-WHEN stuff was referring to a special variable
(I think it was OPERS) which was not defined at compile time.

> How does the assume mechanism work?
> Does it store things in symbol properties?

Well, assume is really a disaster area. None of the present-day
programmers completely understands how it works; Fateman says that
the original programmer deliberately wrote it in an obscure way.
My guess is that instead of trying to fix it, we should dump it
and create a different assume system. The existing system is not
very strong anyway (i.e. there are simple, true propositions which
it cannot verify). But for the moment we are stuck with it.

>From what I can tell, assume builds a circular list on the property DATA.
I don't know how much of the assume system is needed before
run-time. I know there are some assume declarations for constants
such as %pi, %e, etc. It might be possible to postpone those
declarations until run-time.

Hope this helps, & thanks for working on the Maxima + ECL port.

Robert




More information about the ecl-devel mailing list