-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Compute and verify checksums of ISBN, IBAN, etc. -- -- Compute and verify checksums of various identifiers, such as IBAN, -- ISBN, EAN, Germany's Citizen Card. @package checksum @version 0.0 -- | International Standard Book Number -- -- -- https://en.wikipedia.org/wiki/International_Standard_Book_Number -- -- Covers only ISBN-10. For ISBN-13 simply use Math.Checksum.EAN. module Math.Checksum.ISBN -- |
--   checksum "346811124" == Success 10
--   
checksum :: String -> Exceptional String Int -- |
--   valid "346811124X" == Nothing
--   valid "3468111240" == Just "check sum does not match"
--   
valid :: String -> Maybe String -- | International Bank Account Number -- -- https://en.wikipedia.org/wiki/International_Bank_Account_Number module Math.Checksum.IBAN -- |
--   checksum "DE" "210501700012345678" == Success 68
--   
checksum :: String -> String -> Exceptional String Int -- |
--   valid "DE68210501700012345678" == Nothing
--   valid "DE68210501700012345679" == Just "check sum does not match"
--   
valid :: String -> Maybe String -- | European Article Number -- -- https://en.wikipedia.org/wiki/International_Article_Number module Math.Checksum.EAN -- |
--   checksum "400638129240" == Success 5
--   
checksum :: String -> Exceptional String Int -- |
--   valid "4006381292405" == Nothing
--   valid "4006381292406" == Just "check sum does not match"
--   
valid :: String -> Maybe String -- | Personalausweisnummer -- -- https://de.wikipedia.org/wiki/Ausweisnummer module Math.Checksum.CitizenCard.Germany -- |
--   construct city no birthDate expiration
--   construct 1234 56789 980706 180706 == "1234567897D<<9807062<1807066<<<<<<<8"
--   
construct :: Int -> Int -> Int -> Int -> String