01: package JSci.maths.categories;
02:
03: /**
04: * This interface defines a functor.
05: * @jsci.planetmath Functor
06: * @version 1.0
07: * @author Mark Hale
08: */
09: public interface Functor extends Category.Morphism {
10: /**
11: * Maps an object from one category to another.
12: */
13: Object map(Object o);
14:
15: /**
16: * Maps a morphism from one category to another.
17: */
18: Category.Morphism map(Category.Morphism m);
19:
20: /**
21: * Returns the composition of this functor with another.
22: */
23: Functor compose(Functor f);
24: }
|