01: package JSci.maths.categories;
02:
03: /**
04: * This interface defines a natural transformation.
05: * @version 1.0
06: * @author Mark Hale
07: */
08: public interface NaturalTransformation {
09: /**
10: * Maps one functor to another.
11: */
12: Functor map(Functor f);
13:
14: /**
15: * Returns the vertical composition of this transformation with another.
16: */
17: NaturalTransformation composeVert(NaturalTransformation n);
18:
19: /**
20: * Returns the horizontal composition of this transformation with another.
21: */
22: NaturalTransformation composeHorz(NaturalTransformation n);
23: }
|