Solution2.html
From HaskellWiki
(Difference between revisions)
(New page: <haskell> parent :: Sheep -> Maybe Sheep parent s = father s `mplus` mother s grandparent :: Sheep -> Maybe Sheep grandparent s = paternalGrandfather s `mplus` paternalGr...) |
|||
| (One intermediate revision not shown.) | |||
| Line 8: | Line 8: | ||
maternalGrandfather s `mplus` | maternalGrandfather s `mplus` | ||
maternalGrandmother s | maternalGrandmother s | ||
| + | </haskell> | ||
| + | |||
| + | Alternative grandparent: | ||
| + | <haskell> | ||
| + | grandparent :: Sheep -> Maybe Sheep | ||
| + | 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
