/**/ -- the following returns an error for the 2nd argument (INT)
/**/ -- CheckArgTypes([RAT, RINGELEM, MAT], [2/3, 20, LexMat(3)]); --> ERROR
--> ERROR: Arg 2 is INT but must be RINGELEM
/**/ -- the following returns nothing
/**/ CheckArgTypes([RAT, [INT,RAT,RINGELEM], MAT], [2/3, 20, LexMat(3)]);
/**/ -- an example of use for type checking
/**/ Define Pow(F, N)
/**/ CheckArgTypes([[INT,RAT,RINGELEM,IDEAL,MAT], INT], [F, N]);
/**/ Return F^N;
/**/ EndDefine; -- Pow
/**/ Pow(x, 3);
x^3
/**/ -- Pow(2, x); --> ERROR
--> ERROR: Arg 2 is RINGELEM but must be INT
|