> No. I meant 'X:CatOf(B)', i.e. X is a domain that has the same > category as the domain B. Martin's original example did not specify > the domain where the statement: > > forall A if A has MyCat then CoercibleTo A > > occurs. I just said, let the domain that uses this expression be > called B. Then I want to make a kind of "extension" of B via a > package. > >> But why so complicated? Shouldn't >> >> MyCoercePac(A:MyCat,X:MyCat): CoercibleTo(A) >> == add >> coerce(x:X):A == ... >> >> do the thing? > > Well, > > MyCoercePac(A:MyCat,X:SetCategory): CoercibleTo(A) > == add > coerce(x:X):A == ... > > would be almost the same time, but it is no longer specific to B so I > can not depend on using much of the functionality that is exported by > B.
Really? But at the time you write the code you know the definition of B, i.e. you know its type (which is, for example, SomeCat). Why can't you write "X: SomeCat" instead of your "X: SetCategory" above? >> Where exactly would you need CatOf(A)? > That is the reason why it has to be 'CatOf(B)' I am still not convinced. I must be missing something in your argumentation. I simply don't see how it is possible to have (at the time I write a program) a domain B defined somewhere and I would be unable to explicitly write down its type. The only thing I would need is "grep" but no SPAD compiler. That is why I constantly try to rewrite your code and remove CatOf with something that I would deem possible. I need an example that I cannot rewrite in order to understand the need of CatOf. (Connection with "extend" I don't accept since I'd rather like to stay as compatible with Aldor as possible.) Ralf --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/fricas-devel?hl=en -~----------~----~----~----~------~----~------~--~---
