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...) |
(Another definition of grandparent.) |
||
| Line 8: | Line 8: | ||
maternalGrandfather s `mplus` | maternalGrandfather s `mplus` | ||
maternalGrandmother s | maternalGrandmother s | ||
| + | </haskell> | ||
| + | |||
| + | Alternative grandparent: | ||
| + | <haskell> | ||
| + | grandparent :: Sheep -> Maybe Sheep | ||
| + | grandparent s = (father s >>= parent) `mplus` (mother s >>= parent) | ||
</haskell> | </haskell> | ||
Revision as of 14:15, 21 September 2012
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)
