Personal tools

Solution2.html

From HaskellWiki

(Difference between revisions)
Jump to: navigation, search
(New page: <haskell> parent :: Sheep -> Maybe Sheep parent s = father s `mplus` mother s grandparent :: Sheep -> Maybe Sheep grandparent s = paternalGrandfather s `mplus` paternalGr...)
Current revision (14:33, 21 September 2012) (edit) (undo)
 
(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