Dear Ralf,

I try to answer all mails as good as I can, but I have very limited resources
right now. I'll fix ACFraction and document DropEmpty as soon as I can.

Ralf Hemmecke <[EMAIL PROTECTED]> writes:

> <<exports of Fraction from LibAxiom>>=
> canonical @ Category;
> QuotientFieldCategory(S);
> @

vs.

> So the exports should be
> 
> Field;
> FractionExtendCategory S;
> 
> And "canonical @ Category" is wrong since it is a _conditional_ export.

Forgetting the conditions for canonical was unintentional. The other one is
since I was out of time and FractionExtendCategory sounds terribly like
ListExtendCategory which did cost me a lot of time already once.

(Please note that compiling AC takes roughly 5 minutes on my machine if I
modify one of the basic files like axcompat or series...)

-------------------------------------------------------------------------------

> You have several of these remarks (see below) in src/gseries.as.nw.
> I don't know how you found this workaround. 

intuition and experience :-) -- or, rather, :-(

> Maybe we should agree to mark references to compiler bugs in AC with the word
> "CompilerBug" so that we can find them easily later.

Very good idea. Maybe you could provide a sequential environment like ToDo for
these things. I abused ToDo so far to document workarounds. And your deletion
of one of these ToDo's in species.as.nw did cost me a lot of time, although I
must say that it was correct.

> What I don't understand is why you haven't put a test case into
> test/gseries.as.nw which demostrates this behaviour.  Or are you telling me
> that this problem only appears in Axiom?

Yes, it's only for Axiom.

> Then why isn't there a #if Axiom ... #endif around this workaround?

Because I was afraid that you hate #if Axiom ... #endif.

-------------------------------------------------------------------------------

> [...]  looking at the dvi I realised that 'sum' is not a conditional
> export. I thought I'd made it conditional.
> 
> Yes, I made it conditional. But I now realise that I forgot to
> unconditionalise it. So OK with respect to "sum".

sorry, I should at least have mentioned the change in the ChangeLog. 

> But how come that you unconditionalise "differentiate"?

But I didn't? At least not intentionally.


> But the exports of FormalPowerSeries are FormalPowerSeriesCategory and there
> "differentiate" now appears without condition. So if R has not an appropriate
> * function then "differentiate" is not implemented for FormalPowerSeries(R)
> and a that probably leads to a segfault.

In my dvi it doesn't appear at all in the list of exports (page 122), but only
on page 139 as conditional export of formalpowerseriescategory, as intended.

That looks like a bug in AllProse.

> Could you please check via the mailing list whether I might have some reason
> to conditionalise that function. You could even criticise me by telling me
> that I never give a (good) reason for the condition.

The reason is, I guess, as follows: you cannot compute n*f_n without
*: (Integer, R) -> R.

Oops. Maybe the condition is wrong...

> But now we have a bug in AC.

Do we?

> I essentially committed the test below so that we remind us at the problem of
> anonymous functions in loops that involve the loop parameter.

Great. (I didn't dare to, since it is such a mess) However, I am not so sure
whether it really is a compiler bug. AUG page 104,105 reads


    The resulting function is sometimes known as a closure, as it closes over
    (i.e. gathers up, and places somewhere safe) the lexical variables (not the
    values of the variables) that it references.  For example,

         ...
         import from List Integer;
         n := 2;
         m := 3;
         if cond() then
                  f := (a: Integer): Integer +-> n+a;
         else
                  f := (a: Integer): Integer +-> m*a + n;
         m := 22;
         return map f lst;
    
    When the function-valued variable f is passed into the function map, the
    value of m used is 22 -- not the value 3 which was in effect when f was
    defined.


all the best,

Martin


-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Aldor-combinat-devel mailing list
Aldor-combinat-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/aldor-combinat-devel

Reply via email to