I did not translate you code. I wonder why
> getit(T: Category, L: Tuple T, i: MachineInteger): T == add { > import from Tuple T; > element(L, i); > } compiles. add {...} is an anonymous domain, that exports *nothing*. T is a category. So if that code compiles, I would consider it a bug in the compiler, since surely the types don't match. T is one type-level higher. > -- note that the following results in an "export not found": > -- if getit(OutputType, t, 1) has OutputType > -- then stdout << p << newline; I would say, that is OK no matter whether you consider getit(OutputType,t,1) to be equivalent to OutputType or whether it is a domain that exports nothing. We all know that if OutputType has OutputType then ... does not work, since the argument before "has" has to be a domain, not a category. Ralf ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Aldor-combinat-devel mailing list Aldor-combinat-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/aldor-combinat-devel