Solution2.html
From HaskellWiki
(Difference between revisions)
(Another definition of grandparent.) |
|||
| Line 13: | Line 13: | ||
<haskell> | <haskell> | ||
grandparent :: Sheep -> Maybe Sheep | grandparent :: Sheep -> Maybe Sheep | ||
| - | grandparent s | + | grandparent s = parent s >>= parent |
</haskell> | </haskell> | ||
Current revision
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 = parent s >>= parent
