Validate International Securities Identification Number: Difference between revisions

m
→‎{{header|Haskell}}: (combined some type signatures)
m (→‎{{header|Haskell}}: used quotRem in lieu of divMod)
m (→‎{{header|Haskell}}: (combined some type signatures))
Line 923:
import Data.Maybe (fromMaybe)
 
isinValid, isinPattern, luhn :: String -> Bool
isinValid isin = isinPattern isin && luhn (asNumericString isin)
 
isinPattern :: String -> Bool
isinPattern isin =
(length isin == 12) &&
Line 933 ⟶ 932:
elem (last isin) digits
 
luhn :: String -> Bool
luhn =
(0 ==) .
(`modrem` 10) .
sum .
fmap (uncurry (+) . (`quotRem` 10)) .
9,659

edits