1.
Functor
2.
Setoid
3.
Ord
4.
Semigroup
5.
Monoid
6.
Foldable
7.
Traversable
8.
Contravariant
9.
Apply
10.
Applicative
11.
Alt, Plus, and Alternative
12.
Chain
13.
ChainRec
14.
Monad
15.
Extend
16.
Comonad
17.
Bifunctor and Profunctor
More
Github repo
Functional Programming (Fantasy Land JavaScript specification Guide)
> ChainRec
ChainRec
Graphic
graph LR; A[Functor] --> B[Apply] B --> D[Chain] D --> C[ChainRec]
Example:
-
Read More:
http://www.tomharding.me/2017/05/30/fantas-eel-and-specification-14/