Ralf Hemmecke wrote:
>
> I really don't know why I haven't caught this in my earlier attempts to
> fix the aldor-interface, but now I ran again into some problem with
> jet.spad.pamphlet.
>
> My libaxiom compilation claims
>
> "ap/JGB.ap", line 15:
> (|PretendTo| (|Apply| |#| |#5|) |NonNegativeInteger|)
> .............................^
> [L15 C30] #1 (Error) There are no suitable meanings for the operator `#'.
>
> This comes from
>
> JetGroebner(P, R, E, JB, LJV) : Cat == Def where
>
> L ==> List
> NNI ==> NonNegativeInteger
> JBC ==> JetBundleCategory
> JBFC ==> JetBundleFunctionCategory JB
> DPC ==> DirectProductCategory(#LJV, NNI)
> IE ==> IndexedExponents JB
> PC ==> PolynomialCategory(R, IE, JB)
> DJBP ==> DistributedJetBundlePolynomial(R, E, JB, LJV)
>
>
> R : GcdDomain
> E : DPC
> JB : JBC
> LJV : L JB
> P : Join(JBFC, PC)
>
> The actual problematic part is here:
>
> DirectProductCategory(#LJV, NNI)
>
> Unfortunately, that's the type of the third parameter E of JetGroebner.
> In other words the type of E uses the 5th parameter (LJV) in its type.
>
> As far as I know, this must fail in Aldor. And it now does with the
> error message above.
>
> The SPAD compiler does not seem to have problems with this construction.
>
> Is this OK, or should it better fail? It's clearly a dependent
> construction where the type of the third parameter depends on the length
> of the fifth parameter.
Spad compiler contains special code to handle dependencies
between parameters: it is supposed to find ordering which
has dependencies only on preceeding parameters or signal
error. I do not think we should cripple Spad compiler
just because Aldor can not do that.
> Shouldn't we better write
>
> JetGroebner(JB, LJV, P, R, E) : Cat == Def where
>
> ?
>
If you order by dependency then more logical is:
JetGroebner(R, LJV, E, JB, P)
or maybe:
JetGroebner(R, JB, LJV, E, P)
I do not think that original version is better that one of the
above, so if such change solves problem with building Aldor
interface, then please go on and commit appropriate change.
Remark: My impression is that we have several constructors
with "out of order" dependencies, and only some cause problem
for Aldor interface.
--
Waldek Hebisch
[email protected]
--
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/fricas-devel?hl=en.