Difference between revisions of "Solution2.html"
Jump to navigation
Jump to search
m (Contents transferred to single solutions page) |
|||
(2 intermediate revisions by one other user not shown) | |||
Line 10: | Line 10: | ||
</haskell> |
</haskell> |
||
+ | |||
− | Alternative grandparent: |
||
+ | This next solution will not work. If the sheep has a father and only a maternal grandparent, this function will return Nothing: |
||
<haskell> |
<haskell> |
||
grandparent :: Sheep -> Maybe Sheep |
grandparent :: Sheep -> Maybe Sheep |
||
grandparent s = parent s >>= parent |
grandparent s = parent s >>= parent |
||
</haskell> |
</haskell> |
||
+ | |||
+ | [[Category:Pages to be removed]] |
Latest revision as of 08:43, 9 April 2021
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
This next solution will not work. If the sheep has a father and only a maternal grandparent, this function will return Nothing:
grandparent :: Sheep -> Maybe Sheep
grandparent s = parent s >>= parent