Programação em Haskell
Por: filipysc • 16/4/2015 • Trabalho acadêmico • 14.833 Palavras (60 Páginas) • 385 Visualizações
Valores: São termos processados por funções. 6; 3.14; ‘a’; “Boa noite”
Bool: valores lógicos: True, False.
Char: Caracteres simples: ‘s’; ‘B’, ‘\n’.
String: Sequência de caracteres: “Boa noite”.
Int: Precisão fixa (32 ou 64 bits).
Integer: Precisão arbitrária.
Float: Números reais com precisão simples.
Double: Números reais com precisão dupla.
Rational: Tipo fracionário, sem erro de fracionamento.
Se você quiser declarar um tipo usa-se ::
- Tipos sempre começam com uma letra em maiúsculo.
- Variáveis sempre começam uma letra minúscula.
inc :: Int -> Int -- Assinatura da função
inc x = x +1 -- Definição da função
Assinatura de tipo provém documentação para outros programadores.
Assinaturas ajudam o interpretador Haskell a informar erros de tipos.
Operadores relacionais
>= <= > < == /=
Operadores lógicos
e-lógico = &&
ou-lógico = ||
negação = not
Função que retorna verdade se 3 números inteiros forem iguais.
igual3 :: Int -> Int -> Int -> Bool
igual3 x y z = (x==y) && (y==z)
igual4 :: Int -> Int -> Int -> Int -> Bool
igual4 a b c d = (igual3 a b c) && (igual3 a b d)
Valores: São termos processados por funções. 6; 3.14; ‘a’; “Boa noite”
Bool: valores lógicos: True, False.
Char: Caracteres simples: ‘s’; ‘B’, ‘\n’.
String: Sequência de caracteres: “Boa noite”.
Int: Precisão fixa (32 ou 64 bits).
Integer: Precisão arbitrária.
Float: Números reais com precisão simples.
Double: Números reais com precisão dupla.
Rational: Tipo fracionário, sem erro de fracionamento.
Se você quiser declarar um tipo usa-se ::
- Tipos sempre começam com uma letra em maiúsculo.
- Variáveis sempre começam uma letra minúscula.
inc :: Int -> Int -- Assinatura da função
inc x = x +1 -- Definição da função
Assinatura de tipo provém documentação para outros programadores.
Assinaturas ajudam o interpretador Haskell a informar erros de tipos.
Operadores relacionais
>= <= > < == /=
Operadores lógicos
e-lógico = &&
ou-lógico = ||
negação = not
Função que retorna verdade se 3 números inteiros forem iguais.
igual3 :: Int -> Int -> Int -> Bool
igual3 x y z = (x==y) && (y==z)
igual4 :: Int -> Int -> Int -> Int -> Bool
igual4 a b c d = (igual3 a b c) && (igual3 a b d)
Valores: São termos processados por funções. 6; 3.14; ‘a’; “Boa noite”
Bool: valores lógicos: True, False.
Char: Caracteres simples: ‘s’; ‘B’, ‘\n’.
String: Sequência de caracteres: “Boa noite”.
Int: Precisão fixa (32 ou 64 bits).
Integer: Precisão arbitrária.
Float: Números reais com precisão simples.
Double: Números reais com precisão dupla.
Rational: Tipo fracionário, sem erro de fracionamento.
Se você quiser declarar um tipo usa-se ::
- Tipos sempre começam com uma letra em maiúsculo.
- Variáveis sempre começam uma letra minúscula.
inc :: Int -> Int -- Assinatura da função
inc x = x +1 -- Definição da função
Assinatura de tipo provém documentação para outros programadores.
Assinaturas ajudam o interpretador Haskell a informar erros de tipos.
Operadores relacionais
>= <= > < == /=
Operadores lógicos
e-lógico = &&
ou-lógico = ||
negação = not
Função que retorna verdade se 3 números inteiros forem iguais.
igual3 :: Int -> Int -> Int -> Bool
igual3 x y z = (x==y) && (y==z)
igual4 :: Int -> Int -> Int -> Int -> Bool
igual4 a b c d = (igual3 a b c) && (igual3 a b d)
Valores: São termos processados por funções. 6; 3.14; ‘a’; “Boa noite”
Bool: valores lógicos: True, False.
Char: Caracteres simples: ‘s’; ‘B’, ‘\n’.
String: Sequência de caracteres: “Boa noite”.
Int: Precisão fixa (32 ou 64 bits).
Integer: Precisão arbitrária.
Float: Números reais com precisão simples.
Double: Números reais com precisão dupla.
Rational: Tipo fracionário, sem erro de fracionamento.
Se você quiser declarar um tipo usa-se ::
- Tipos sempre começam com uma letra em maiúsculo.
- Variáveis sempre começam uma letra minúscula.
inc :: Int -> Int -- Assinatura da função
inc x = x +1 -- Definição da função
Assinatura de tipo provém documentação para outros programadores.
Assinaturas ajudam o interpretador Haskell a informar erros de tipos.
Operadores relacionais
...