Pergunta

Estou praticando com LYAH.

O arquivo phoneBook.hs contém o seguinte código:

lista telefônica ::[(Sequência, Sequência)]

Ao tentar compilar o código mencionado acima, estou recebendo o seguinte erro:

*Main>: Carregar "/home/optimight/phonebook.hs" [1 de 1] compilando main (/home/optimight/phonebook.hs, interpretado)

/home/optimight/phoneBook.hs:1:1:A assinatura do tipo para `agenda telefônica 'não possui uma ligação que a acompanhe falhou, os módulos carregados:nenhum.

Pergunta adicionada após a resposta de Brano e comentário subsequente a esta resposta:Como fornecemos implementação para a assinatura de tipo mencionada acima?

Se eu adicionar isso:

digite agenda telefônica = [(String, String)]

Estou recebendo o seguinte erro:

Prelude>: Carregar "/home/optimight/phonebook.hs" [1 de 1] compilando main (/home/optimight/phonebook.hs, interpretado)

/home/optimight/phoneBook.hs:2:6:Cabeçalho malformado de tipo ou declaração de classe:Falha na lista telefônica, os módulos carregados:nenhum

Foi útil?

Solução

Você precisa fornecer uma implementação para agenda.

phoneBook :: [(String, String)] é apenas a assinatura.

Outras dicas

Se você deseja declarar um tipo, ele deve ter letras maiúsculas iniciais, ou seja, type PhoneBook = [(String, String)].

Se você deseja declarar uma função, você precisa fornecer apenas sua definição (a ligação) ou sua definição e sua assinatura de tipo.O esforço mínimo para compilar seu código é:

phoneBook :: [(String, String)]
phoneBook = undefined

Então você pode substituir undefined com qualquer valor do tipo [(String, String)] por exemplo. [("Person","Number")].

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top