Jump to content

Recommended Posts

Posted

Olá

Sou novo e estou muito verde em programação em haskell não percebo como tenho de fazer as coisas no meu computador e fazer exercicios que são básicos.

Eu gosto muito de computadores e da programação é uma coisa que sempre gostei mas começei agora e instalei o GHCi e com ele vem o WinGhci, no Ghci ainda vou fazendo umas coisas no WinGhci dá sempre erros ao definir funções, o meu professor usa mac e tem o acmas eu uso windows, que programa me ajudam.

Eu tenho muitas duvidas se alguem me puder ajudar agadecia.

Obrigado

Posted

acmas? Não será 'emacs'?

De qualquer das formas, é como disse o AJBM: convém que digas que erros estás a obter.

Além disso, o ghci não foi feito para programar directamente lá, embora seja possível definir funções e variáveis com facilidade; o ghci é um ambiente de teste para o qual carregas o código escrito num editor decente (emacs, vim, notepad++, entre outros), pronto a ser utilizado.

Posted (edited)

<interactive>:8:1: Not in scope: `funcao'Olá

É o seguinte: Eu estou no WinGhci o que quero fazer é colocar lá isto,

funcao :: Int -> Int

funcao x = x^2

Quando coloco isto : funcao :: Int -> Int , aparece isto, <interactive>:8:1: Not in scope: `funcao'

Não consiguo defenir nada.

Edited by kunsix
Posted (edited)

AJBM,

Disseste-lhe para definir a função (com let) e depois definir a função novamente?

kunsix,

Como te disse acima, o ghci não é o local para escreveres esse código que mostraste. Existe forma de o fazer, mas não é o que tu queres. O que tu queres fazer e deves fazer é escrever esse código num ficheiro, guardá-lo nalgum sítio com a extensão .hs e carregá-lo no ghci com um comando do género: :load ficheiro.hs (com o caminho correcto para o teu ficheiro).

Volto a dizer: o (win)ghci é um ambiente interactivo feito principalmente para testar código, não para o escrever. Como tal, existem diversas limitações quando se tenta definir símbolos no ghci (e é por isso que normalmente isso não se faz no ghci).

Edited by pwseo
Posted

kunsix,

Como já te disse, o código é escrito num editor de texto (exemplo: Notepad++) e guardado num ficheiro com extensão .hs. Depois carregas esse ficheiro com o comando :load do ghci. Percebeste esta parte?

Agora o resto é estares atento nas aulas. Existem tutoriais bastante bons de Haskell por aí fora também (Learn You a Haskell For Great Good, por exemplo).

Posted (edited)

Pois, mas ele não queria saber o tipo da função mas sim definir o tipo da função (e definir a função de seguida). Além disso, nunca se tinha falado no :t sequer. O problema do kunsix para já é saber como carregar código para o ghci.

Edited by pwseo
Posted

ja arranjei esse o Leran You a Haskell For Great Good, o mal é o meu ingles que esta um pouco fraco.

ja consegui fazer como diseram, guardei a função doubleMe x = x + x no notepad++ depois guardei o ficheiro em .hs e depois abri esse ficheiro com o ghci e fiz :l baby e ele abriu.

Obrigado

Posted

Pronto, agora é estares atento às aulas então. E aprender inglês também é boa ideia, uma vez que a maior parte do conteúdo decente presente na web está em inglês, no que diz respeito a Haskell (e em geral quase todos os temas) 🙂

Posted

Depende muito do que queres fazer no futuro, mas Haskell e C são as linguagens que se aprendem na Universidade do Minho no 1º ano (se andares lá). Outras linguagens conhecidas são C++, Java e Python. Uma particularmente boa para quem quer começar devagar e com calma é Pascal (embora muita gente não partilhe desta opinião).

  • Vote 1

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.