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

Reply via email to