← Haskell: De Forma Fácil

Capítulo 3 de 5

Primeiros Passos

Miguel Aguiar @mirvoxtm

Agora que instalamos tudo, vamos começar nos familiarizando com o Haskell utilizando o GHCi, usando a linguagem como uma grande calculadora.

Para isso, existe uma ferramenta chamada GHCi (a sigla significa GHC interactive, ou "GHC interativo"), que veio junto com o compilador que instalamos no capítulo anterior.

Pense no GHCi como um caderno de rascunho: você digita uma expressão, ele responde com o resultado imediatamente, e ninguém precisa criar arquivos, salvar nada, ou compilar nenhum projeto. É o ambiente perfeito para experimentar ideias e se acostumar com o jeito de pensar do Haskell.

Abrindo o GHCi

Abra um terminal, pode ser o terminal do seu sistema operacional, ou o terminal integrado do VSCode Ctrl + ' ou pelo menu.

Digite o seguinte comando e pressione Enter:

ghci

O terminal vai exibir algumas linhas de boas-vindas e, no final, uma linha que termina com ghci>. Em algumas versões mais antigas, esse "prompt" pode aparecer como Prelude>. Não se preocupe com a diferença: significam exatamente a mesma coisa.

Essa setinha é o GHCi te dizendo: "estou pronto, pode digitar". Tudo o que você escrever depois dela será avaliado como uma expressão Haskell.

Sua primeira conta

Vamos começar com o mais simples possível. Digite:

ghci> 2 + 2

E pressione Enter. O GHCi vai responder:

4

Pronto, você acabou de rodar Haskell pela primeira vez. Vamos brincar mais um pouco.

As quatro operações básicas

Os símbolos das operações matemáticas funcionam como você já espera:

  • + para somar

  • - para subtrair

  • * para multiplicar

  • / para dividir

Experimente cada um deles:

ghci> 10 + 7

17

ghci> 20 - 3

17

ghci> 6 * 4

24

ghci> 15 / 2

7.5

Note uma coisa interessante na última linha: 15 / 2 deu 7.5, e não 7. O Haskell entendeu sozinho que, como estamos dividindo, o resultado pode ter casas decimais, e devolveu o número fracionário.

Em muitas linguagens, você precisa avisar o computador disso explicitamente; aqui, ele cuida do detalhe para você.

Ordem das operações e parênteses

A ordem das operações segue exatamente as regras da matemática que você aprendeu na escola: multiplicação e divisão vêm antes de soma e subtração. Veja:

ghci> 2 + 3 * 4
14

O Haskell calculou 3 * 4 primeiro 12 e depois somou 2, dando 14. Se você quisesse que a soma viesse primeiro, basta usar parênteses, como esperado:

ghci> (2 + 3) * 4
20

Números negativos

Tente agora algo que parece inofensivo:

ghci> 5 + -3

Surpresa: o GHCi vai reclamar com uma mensagem de erro!

Isso acontece porque o - em Haskell tem dois significados: ele pode ser a subtração entre dois números ou pode ser o sinal negativo de um número.

Quando você escreve 5 + -3, a linguagem se confunde. A solução é simples: coloque o número negativo entre parênteses. Aí fica claro que o - é só o sinal:

ghci> 5 + (-3)

Essa pequena chatice é uma das primeiras "peculiaridades" do Haskell. Tenha ela em mente e você não vai mais cair nessa armadilha.

Potências

Para elevar um número a uma potência, use o símbolo ^:

ghci> 2 ^ 10
1024

ghci> 5 ^ 3
125

Divisão inteira e resto

Às vezes você não quer o resultado fracionário de uma divisão. Por exemplo, "quantas vezes 7 cabe em 30?", você quer a resposta 4, sem casas decimais. Para isso, o Haskell oferece duas funções especiais:

  • div, que faz a divisão inteira (descarta a parte decimal)

  • mod, que devolve o resto da divisão

Elas se escrevem de um jeito um pouco diferente do + ou *. Por enquanto, basta saber que precisamos colocar o nome entre crases (` ``), assim:

ghci> 30 div 7
4

ghci> 30 `mod`7
2

Esse jeito de escrever vai fazer mais sentido nos próximos capítulos. Por enquanto, fique tranquilo de usar.

O atalho it

Toda vez que você faz uma conta no GHCi, ele guarda o último resultado em uma "memória" chamada it. Você pode usá-la como se fosse um número qualquer. Veja:

ghci> 10 + 5
15

ghci> it * 2
30

ghci> it + 1
31

É como o botão "ANS" das calculadoras científicas. Quando você está fazendo várias contas em sequência, esse atalho economiza muita digitação.

Saindo do GHCi

Quando quiser fechar o GHCi e voltar para o terminal normal, digite:

ghci> :quit
Compartilhar:XWhatsAppFacebook

Comentários

Entre na sua conta para comentar este book.

Carregando comentários...