Tipos de função
Todas as expressões em Kind tem um tipo, descrevendo que tipo de coisa ela computa.
Por exemplo: Bool.true
tem tipo Bool
, assim como Notb Bool.true
também tem tipo Bool
.
Funções como Notb
, antes de receberem argumentos, também tem um tipo, tal qual Bool.true
ou Bool.false
.
Os seus tipos são chamados de Tipo de Função, e são denotados com setas.
Notb
, por exemplo, seria denotado como Bool -> Bool
, que pode ser lido como
"uma função que recebe um Bool
como entrada, e retorna um valor de tipo Bool
".
Similarmente, o tipo da função Andb
é Bool -> Bool -> Bool
, significando
"uma função que recebe dois argumentos do tipo Bool
e retorna um valor de tipo Bool
".