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