I can't believe it ...
The + and * operators are overloaded (UpValues) for some structure
(elements of finite field).
My NormalQ routine uses the Det (System) on a square matrix of such
elements, and EVERYTHING WORKS fine.
BUT, as soon as I try to insert NormalQ into a package:
BeginPackage["FiniteField`"];
NormalQ::usage=
"NormalQ[a_?FFelemQ] calls Det ...";
Begin["`Private`"]
NormalQ[a_]:=
(* reach this point *)
m=Det[m];
(* never there *)
End[];
EndPackage[];
The computation of Det gets endless ...
( Of course there is no shadowing of Det ... )
Could somebody explain me what is wrong ?
Antoine Zahnd.