Solution2.html
Jump to navigation
Jump to search
parent :: Sheep -> Maybe Sheep
parent s = father s `mplus` mother s
grandparent :: Sheep -> Maybe Sheep
grandparent s = paternalGrandfather s `mplus`
paternalGrandmother s `mplus`
maternalGrandfather s `mplus`
maternalGrandmother s
Alternative grandparent:
grandparent :: Sheep -> Maybe Sheep
grandparent s = (father s >>= parent) `mplus` (mother s >>= parent)