1 package JSci.maths.categories;2 3 /**4 * This interface defines a functor.5 * @jsci.planetmath Functor6 * @version 1.07 * @author Mark Hale8 */9 public interface Functor extends Category.Morphism {10 /**11 * Maps an object from one category to another.12 */13 Object map(Object o);14 /**15 * Maps a morphism from one category to another.16 */17 Category.Morphism map(Category.Morphism m);18 /**19 * Returns the composition of this functor with another.20 */21 Functor compose(Functor f);22 }23 24