Problema ao executar código em HASKELL

13 views
Skip to first unread message

Lesliê Cardoso da Silva

unread,
Jan 20, 2013, 8:15:15 AM1/20/13
to hug...@googlegroups.com
Bom dia! Eu baixei no site http://www.haskell.org/platform/ a plataforma do Haskell,
que o mesmo instala GHCi, eu tentei seguir alguns tutorial encontrados na web como
abrir um arquivo .hs pelo comando :load funcao.hs, mas ocorre erro sendo que neste arquivo
tem algo do tipo:

idade :: Int  
idade = 17

maiorDeIdade :: Bool -- Usa a definição de idade
maiorDeIdade = (idade>=18)

mas sempre ocorre erro. Também tentei executar a função de exemplo clássico usando recursividade
com fatorial, mas também não obtive sucesso, como:

factorial :: (Num a) => a -> a  
factorial 0 = 1  
factorial n = n * factorial (n - 1) 

Fico aguardando se alguem pode me ajudar nesta questão.
att.

Lesliê Cardoso

rher...@gmail.com

unread,
Jan 20, 2013, 9:18:41 AM1/20/13
to hug...@googlegroups.com
O primeiro exemplo está certo mas tem um problema na definição do tipo da função factorial, que deveria ser factorial :: (Eq a, Num a) => a -> a, ou seja, precisa de um tipo que implemente Eq para que seja comparável (por causa do pattern matching). Que mensagem de erro aparece no primeiro exemplo?

Aproveitando, como código em Haskell costuma não compilar tão facilmente na presença de erros, é importante desde cedo já aprender a interpretar as mensagens. Pode parecer complicado mas vale a pena quebrar a cabeça para entender o que aconteceu e em pouco tempo você pega o jeito.

[]'s


2013/1/20 Lesliê Cardoso da Silva <workgrou...@gmail.com>

Lesliê Cardoso

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Haskell User Group - Brasil" dos Grupos do Google.
Para ver esta discussão na web, acesse https://groups.google.com/d/msg/hug-br/-/BeR2WIp42f8J.
Para postar neste grupo, envie um e-mail para hug...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para hug-br+un...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/hug-br?hl=pt-BR.



--
Ricardo Guimarães Herrmann
"When small men begin to cast big shadows, it means that the sun is about to set." -- Lin Yutang
Reply all
Reply to author
Forward
0 new messages