On 21 October 2016 at 20:57, oldk1331 <oldk1...@gmail.com> wrote: > >>> the actually meaning of "map" can be very >>> different. (This is more obvious for Monad.) >>> >> >> I do not think that this is the case. If it were, then there would be >> some doubt that it was the appropriate abstraction of the underlying >> concept. At most the "actual meaning" should be a special and >> specific case of the more general notion. > > Take AbelianMonoidRing for example: > map : (R -> R, %) -> % > ++ map(fn, u) maps function fn onto the coefficients > ++ of the non-zero monomials of u. >
If we write: AbelianMonoidRing(R : Join(SemiRng, AbelianMonoid), E : OrderedAbelianMonoid ) : Category == Join(SemiRng, BiModule(R, R), Functor(R)) with ... this already says that there is an operation named 'map' in 'AbelianMonoidRing' that operates on the coefficients R. HyperDoc will display the fact that the origin of 'map' is Functor(R) > A 'map' function can also operate on its degree, but this documentation > says it operates on the coefficients. This information should be preserved > when showing documentation of map from AbelianMonoidRing. > I think we want the operation 'map' from 'Functor' to preserve composition-like operators and corresponding identities, i.e. we want it to be "functorial". For example map(f, 0) = 0 map(f,a+b) = map(f,a) + map(f,b) What would it mean for a Functor map to "operator on its degree"? I don't think that Functor(E) would make sense in this context. -- You received this message because you are subscribed to the Google Groups "FriCAS - computer algebra system" group. To unsubscribe from this group and stop receiving emails from it, send an email to fricas-devel+unsubscr...@googlegroups.com. To post to this group, send email to fricas-devel@googlegroups.com. Visit this group at https://groups.google.com/group/fricas-devel. For more options, visit https://groups.google.com/d/optout.