Character type¶
For built-In functions and operations on characters, seeĀ stdchar.
Type annotation¶
Characters are annotated with Char.
// Language: Clean
expr :: Char
expr =  'a'
Character Literals¶
Character literals are created by enclosing a character within single quotation marks ('...').
// Language: Clean
x :: Char
x =  '1'
x =  'a'
x =  'A'
x =  '+'
%%
Using Character Literal as Pattern¶
Example A¶
// Language: Clean
exampleA :: Char -> Bool
exampleA    'G'  =  True
exampleA    _    =  False
Python equivalent:
# Python
def exampleA(arg: str) -> bool:
    match arg:
        case "G":
            return True
        case _:
            return False
Example B¶
// Language: Clean
exampleB :: Char -> Bool
exampleB    'G'  =  True
exampleB    'g'  =  True
exampleB    _    =  False
Python equivalent:
# Python
def exampleB(arg: str) -> bool:
    match arg:
        case "G":
            return True
        case "g":
            return True
        case _:
            return False
Example C¶
// Language: Clean
exampleC :: Char Char -> Bool
exampleC    'G'  'G'  =  True
exampleC    _    _    =  False
Python equivalent:
# Python
def exampleC(
    argA: str, 
    argB: str
) -> bool:
    match (argA, argB):
        case ("G", "G"):
            return True
        case _:
            return False
Example D¶
// Language: Clean
exampleD :: Char Char -> Bool
exampleD    'G'  'G'  =  True
exampleD    'G'  'g'  =  True
exampleD    'g'  'G'  =  True
exampleD    'g'  'g'  =  True
exampleD    _    _    =  False
Python equivalent:
# Python
def exampleD(
    argA: str, 
    argB: str
) -> bool:
    match (argA, argB):
        case ("G", "G"):
            return True
        case ("G", "g"):
            return True
        case ("g", "G"):
            return True
        case ("g", "g"):
            return True
        case _:
            return False