on master help sign in
Add OneOrMore.map
commit4eaeee576161cbd305f9319513d7d806eecba6ef authorEvan Czaplicki <evancz@users.noreply.github.com> dateFri 8 Dec 2017, 14:32 (9 years ago) parentfeb5ece
1 file changed+18
src/Data/OneOrMore.hs+18
src/Data/OneOrMore.hs+18
@@ -4,10 +4,14 @@ module Data.OneOrMore
44 , one
55 , more
66 , toList
7+ , map
78 )
89 where
910
1011
12+import Prelude hiding (map)
13+
14+
1115
1216-- ONE OR MORE
1317
@@ -44,3 +48,17 @@ toListHelp oneOrMore list =
4448
4549 More a b ->
4650 toListHelp a (toListHelp b list)
51+
52+
53+
54+-- MAP
55+
56+
57+map :: (a -> b) -> OneOrMore a -> OneOrMore b
58+map func oneOrMore =
59+ case oneOrMore of
60+ One value ->
61+ One (func value)
62+
63+ More left right ->
64+ More (map func left) (map func right)