CUSIP: Difference between revisions

145 bytes removed ,  3 years ago
m
→‎{{header|Haskell}}: allMaybe is just sequence
m (→‎{{header|Haskell}}: allMaybe is just sequence)
Line 1,414:
 
data Result = Valid | BadCheck | TooLong | TooShort | InvalidContent deriving Show
 
prependMaybe :: Maybe a -> Maybe [a] -> Maybe [a]
prependMaybe (Just v) (Just vs) = Just (v:vs)
prependMaybe _ _ = Nothing
 
-- convert a list of Maybe to a Maybe list.
-- result is Nothing if any of values from the original list are Nothing
allMaybe :: [Maybe a] -> Maybe [a]
allMaybe = foldr prependMaybe (Just []) sequence
 
toValue :: Char -> Maybe Int
Anonymous user