Francois Maltey <[EMAIL PROTECTED]> writes:
> The type of the variable arg is F inside the manip.spad file,
> and I believe that << F = Expression Complex Integer >>
> because << R is Complex Integer >> in this case.
no:
F : Join(FunctionSpace R, TranscendentalFunctionCategory)
only tells you that F has FunctionSpace R.
Expression Complex Integer is a domain in FunctionSpace R, but there might be
others...
CTM ==> ComplexTrigonometricManipulations _
(Integer, Expression Complex Integer)
...
R is Complex Integer =>
imag(arg::Expression Complex Integer)@CTM
...
this doesn't make sense: CTM is not a domain, f(arg)@D uses an f such that the
result is in the domain D. You probably meant to type f(arg)$D, which uses f
from package or domain D.
I guess that you want to use imag: F -> FR from
ComplexTrigonometricManipulations(R, F): Exports == Implementation where
R : Join(IntegralDomain, OrderedSet, RetractableTo Integer)
F : Join(AlgebraicallyClosedField, TranscendentalFunctionCategory,
FunctionSpace Complex R)
FR ==> Expression R
from within
)abbrev package TRMANIP TranscendentalManipulations
TranscendentalManipulations(R, F): Exports == Implementation where
R : Join(OrderedSet, GcdDomain)
F : Join(FunctionSpace R, TranscendentalFunctionCategory)
What type has arg really? Please provide code that illustrates what you would
like to do.
Martin
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer