Hi Martin, On 2015-06-16, 'Martin R' via sage-devel <sage-devel@googlegroups.com> wrote: >> Generally, attributes of morphisms will carry a certain semantics that >> is related with the category. So, if your morphism class M1 has a method >> __call__, and M2 inherits from M1, then M2 has a __call__ method as >> well, and thus both M1 and M2 are morphisms in the category of >> SetsWithPartialMaps(). >> >> Or: If M1 has an attribute .tensor(), then M2 inherits it, and thus both >> categories are supposed to provide a tensor product. >> > > Somehow that appears strange to me. I wouldn't expect that the instances > of some class are morphisms in, say, SetsWithPartialMaps() just because > they are callable. (But maybe that's the python way.)
What I stated was not about python (since it doesn't know about categories) and I guess also not about Sage, since I don't think that there is any automatism implemented. What I stated was about the semantics. If it is callable, then you want to call it on *something*, namely on elements. It may be that the callable throws an error on some elements, thus, we have a partial map, and where there are elements there are sets. Hence, SetsWithPartialMaps(). > Anyway, I think it would be great to have this implemented. Do you think > you can recycle your branch on trac? I'll see what I can do in the next few weeks. Best regards, Simon -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.