module Data.Char.Base where
The type of characters🔗
postulate Char : Type {-# BUILTIN CHAR Char #-} private module P where primitive primIsLower primIsDigit primIsAlpha primIsSpace primIsAscii primIsLatin1 primIsPrint primIsHexDigit : Char → Bool primToUpper primToLower : Char → Char primCharToNat : Char → Nat primNatToChar : Nat → Char primCharToNatInjective : ∀ a b → primCharToNat a ≡ᵢ primCharToNat b → a ≡ᵢ b open P public renaming ( primIsLower to is-lower? ; primIsDigit to is-digit? ; primIsAlpha to is-alpha? ; primIsSpace to is-space? ; primIsAscii to is-ascii? ; primIsLatin1 to is-latin1? ; primIsPrint to is-printable? ; primIsHexDigit to is-hex-digit? ; primToUpper to to-upper ; primToLower to to-lower ; primNatToChar to nat→char ; primCharToNat to char→nat ) instance Discrete-Char : Discrete Char Discrete-Char = Discrete-inj' _ (primCharToNatInjective _ _)