Perguntas com a marcação «haskell»

161
Como definir uma função em ghci em várias linhas?

Estou tentando definir qualquer função simples que abranja várias linhas em ghci, considere o seguinte como exemplo: let abs n | n >= 0 = n | otherwise = -n Até agora, tentei pressionar Enter após a primeira linha: Prelude> let abs n | n >= 0 = n Prelude> | otherwise =...

156
Especialização com Restrições

Estou tendo problemas para que o GHC especialize uma função com uma restrição de classe. Eu tenho um exemplo mínimo do meu problema aqui: Foo.hs e Main.hs . Os dois arquivos são compilados (GHC 7.6.2 ghc -O3 Main) e executados. NOTA: Foo.hs está realmente despojado. Se você quiser ver por que a...

147
Por que o GHC é tão grande / grande?

Existe uma resposta simples: por que o GHC é tão grande? OCaml: 2MB Python: 15MB SBCL: 9MB OpenJRE - 26MB GHC: 113MB Não estou interessado no evangelismo de "Por que eu não deveria me importar com o tamanho, se Haskell é a ferramenta certa"; Esta é uma questão

144
Manipulação de tipos de lista com Esqueleto

Eu tenho tipos de dados definidos como: data ComitteeView = CommitteeView { committeeId :: CommitteeId , committeeMembers :: [Person] } data CommitteesView = CommitteesView { committeeView :: [CommitteeView] } Agora, como está, eu tenho um modelo persistente definido como: Person name...

143
O GHC-mod precisa usar nomes completos para tipos?

Estou tentando usar o ghc-modplug-in vim para fazer a verificação de tipo / sintaxe etc. No entanto, descobri que ghc-modsempre usa caminhos completos de tipos nas mensagens de erro, por exemplo: test.hs|71 col 13 error| Couldn't match type ‘Data.Text.Internal.Text’ || with ‘[GHC.Types.Char]’ ||...

136
Memoização em Haskell?

Quaisquer dicas sobre como resolver com eficiência a seguinte função no Haskell, para grandes números (n > 108) f(n) = max(n, f(n/2) + f(n/3) + f(n/4)) Eu vi exemplos de memorização em Haskell para resolver números de fibonacci, que envolviam computar (preguiçosamente) todos os números de...

134
Comandos de várias linhas no GHCi

Estou tendo problemas ao inserir comandos de várias linhas no ghci. O seguinte código de duas linhas funciona a partir de um arquivo: addTwo :: Int -> Int -> Int addTwo x y = x + y Mas quando entro em ghci, recebo um erro: <interactive>:1:1: error: Variable not in scope: addTwo ::...

130
Diferença entre `mod` e` rem` em Haskell

Qual é exatamente a diferença entre mode remem Haskell? Ambos parecem dar os mesmos resultados *Main> mod 2 3 2 *Main> rem 2 3 2 *Main> mod 10 5 0 *Main> rem 10 5 0 *Main> mod 1 0 *** Exception: divide by zero *Main> rem 1 0 *** Exception: divide by zero *Main> mod 1...