On Sun, 12 Aug 2007, Bill Page wrote: | On 8/12/07, Gabriel Dos Reis wrote: | > On Sun, 12 Aug 2007, Bill Page wrote: | > | ... | > | It should be fine because of rule 2: | > | | > | 2. Anonymous types are equivalent when structurally equivalent | > | > The parameter S in RepeatedSquare(S) of the category | > | > SetCategory with "*": (%,%) -> % | > | > but RepeatedSquare is being called with a domain of a named category (Monad). | > Rule 2 says: | > | > 2. Anonymous types are equivalent when stucturally equivalent | > | > How would it apply? | > | | Why do you think: | | import RepeatedSquaring(%) | | is referring to a named category?
I'm not saying that. I'm saying that the parameter S of the default package Monad& -- generated for the default implementation of the category Monad -- is of the named category Monad. It is that parameter S which is being used to instantiate RepeatedSquaring. However, RepeatedSquaring expects its (domain) argument to be of the unnamed category SetCategory with "*": (%,%) -> % -- Gaby _______________________________________________ Axiom-developer mailing list Axiom-developer@nongnu.org http://lists.nongnu.org/mailman/listinfo/axiom-developer