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