Jump to content
Nun0

Ajuda no Haskell

Recommended Posts

Nun0

Boas malta,

Entrei este ano para a Universidade e tenho Programação Funcional como cadeira, eu até estou a gostar, mas como entrei na 2ª fase perdi a introdução ao programa Haskell...

Eu já entendo algumas coisas, mas o mais básico não entendo, por exemplo, sei que tenho de ter o ghc e um editor de texto, que neste caso, uso o sublime text.

Mas eu meto o código no sublime text, depois abro no GHC e diz que foi aberto, mas nada me aparece, não deveria aparecer alguma coisa, do programa a funcionar?

Obrigado e toda a ajuda é bem vinda.

Um Abraço

Share this post


Link to post
Share on other sites
thoga31

Haskell não é um programa, é uma linguagem de programação.

Estás a falar do WinGHCi? Se for esse o caso, tens de indicar ao GHC onde está o ficheiro e carregá-lo.

Prelude> :l module_name


Knowledge is free!

Share this post


Link to post
Share on other sites
Nun0

Ahhh entendi. Ou seja, eu fazendo um código, imaginemos de um jogo, não consigo testá-lo?

Outra coisa, qual a diferença entre GHCi e WinGHCi?

Edited by Nun0

Share this post


Link to post
Share on other sites
thoga31

Consegues, claro que consegues. Tens é de carregar o ficheiro onde tens o código - isto utilizando o interpretador.


Knowledge is free!

Share this post


Link to post
Share on other sites
pwseo

O WinGHCi é apenas uma janela que te permite interagir facilmente com o GHCi. Em Linux não há necessidade de tal, mas como a linha de comandos do Windows é ridiculamente limitada, foi criado o WinGHCi para que fosse simples interagir com o GHCi em Windows.

Share this post


Link to post
Share on other sites
Nun0

Podes me dizer um interpretador para se utilizar no haskell?

E para que serve o winghci e o ghci?

Estou mesmo à nora com isto.

Share this post


Link to post
Share on other sites
thoga31

Eu sei que entraste na segunda fase e é um novo capítulo da tua vida, mas tens de te orientar.

Como não sabes o que é o GHCi? Ainda agora falaste do GHC... O GHCi é o interpretador de Haskell. O WinGHCi é uma interface para Windows do GHCi. E no GHCi tu podes carregar e testar os teus códigos sem compilar o código.

Tu disseste que já estavas a entender algumas coisas. O que já entendeste?

Edited by thoga31

Knowledge is free!

Share this post


Link to post
Share on other sites
Nun0

Entendi a diferença entre o winGHCi e GHCi, obrigado (:

Agora, podem me indicar um interpretador?

Share this post


Link to post
Share on other sites
thoga31

Oh @Nun0... lê bem o que eu disse:

O GHCi é o interpretador de Haskell.


Knowledge is free!

Share this post


Link to post
Share on other sites
Nun0

Sim, eu percebi, a minha resposta é que foi colocada depois de ter visto a tua resposta.

Então é o seguinte: Eu coloquei um código que foi feito no sublime text, no GHCi. e lá disse o seguinte:

Ok, modules loaded: main

*Main>

é aqui que não entendo o que devo fazer

Share this post


Link to post
Share on other sites
thoga31

O teu código-fonte tem um main?

Se sim, escreve agora no GHCi "main", e ele vai executar o main.


Knowledge is free!

Share this post


Link to post
Share on other sites
Nun0

module PrimeiroProg where
celFar c = c * 1,8 + 32
kelCel k = k - 273
kelFar k = celFar (kelCel k)

Coloquei isto no GHCi, alguém me sabe dizer porque dá erro?

Edited by thoga31
Tags code + GeSHi

Share this post


Link to post
Share on other sites
thoga31

Devias dizer qual era o erro, não somos adivinhos.

Esse ficheiro não tem main. Tens de testar as funções uma a uma. Por exemplo:

Prelude> kelCel 300
27


Knowledge is free!

Share this post


Link to post
Share on other sites
thoga31

Copia para aqui todo o conteúdo da janela do WinGHCi para saber como estás a invocar as coisas.


Knowledge is free!

Share this post


Link to post
Share on other sites
pwseo

Tu não podes colocar esse código directamente no GHCi, mas sim num ficheiro .hs, o qual é posteriormente carregado para o GHCi através do comando :load.

De qualquer modo, já devias saber que os números com casas decimais são escritos com pontos e não vírgulas em todas as linguagens de programação.

Share this post


Link to post
Share on other sites
thoga31

Nós dissemos "carregar o ficheiro", e não copiar o conteúdo para lá.

Prelude> :l module_name


Knowledge is free!

Share this post


Link to post
Share on other sites
Nun0

Não precisei de fazer load nenhum, simplesmente o que fiz foi colocar o código no WinGHCi, salvei com extenção .hs e cliquei duas vezes nesse mesmo ficheiro. O problema que estava a ter, foi o que o CRLF mencionou, não podia ter vírgula, mas sim ponto. E agora já funciona.

Obrigado pela paciência.

Uma última questão, quando quero dizer ou, é || certo?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.