Resultados da pesquisa a pedido "haskell"
Por que esse código Haskell é mais lento com -O?
Este pedaço de código Haskell é executadoMuito de mais lento com-O, mas-O deveria estarnão perigoso [https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/options-optimise.html#optimise-pkgs] . Alguém pode me dizer o que aconteceu? Se ...
Qual dicionário o GHC escolhe quando mais de um está no escopo?
Considere o seguinte exemplo: import Data.Constraint class Bar a where bar :: a -> a foo :: (Bar a) => Dict (Bar a) -> a -> a foo Dict = barO GHC tem duas opções para o dicionário usar ao selecionar umBar instância emfoo: poderia usar o ...
ghci não carregando a função do arquivo
Em test.hs, tenho: doubleMe x = x + xEm ghci, digitei: Prelude> :l test [1 of 1] Compiling Main ( test.hs, interpreted ) Ok, modules loaded: Main. *Main> doubleMe 9 <interactive>:1:0: Not in scope: `doubleMe' *Main>Por quê? Como consertar?
O que é restrição na assinatura em espécie
Se eu inspecionar okind doMaybe Eu entendi isso: λ> :k Maybe Maybe :: * -> *Agora, se eu inspecionar o tipo deMonad Eu entendi isso: λ> :k Monad Monad :: (* -> *) -> ConstraintO que éConstraint lá e por que é necessário? Por que não apenas ...
O Travis ci permite versões ghc maiores que 7,8?
Acabei de criar um projeto Haskell Travis CI com este.travis.yml: language: haskell ghc: - 7.8 - 7.10Mas Travis interpreta a segunda versão como7.1: ...
Parsec como encontrar "correspondências" dentro de uma string
Como posso usar o parsec para analisar todas as entradas correspondentes em uma string e descartar o restante? Exemplo: Eu tenho um analisador de números simples e posso encontrar todos os números se souber o que os separa: num :: Parser Int ...
Converter String em Int, verificando se há excesso
Quando tentei converter um número inteiro muito longo paraInt, Fiquei surpreso que nenhum erro foi gerado: Prelude> read "123456789012345678901234567890" :: Int -4362896299872285998 readMaybe deText.Read módulo dá o mesmo resultado. Duas ...
Como compiladores puramente funcionais anotam o AST com informações de tipo?
Na fase de análise de sintaxe, um compilador imperativo pode criar um AST a partir de nós que já contêm umtype campo definido comonull durante a construção e, posteriormente, na fase de análise semântica, preencha os tipos atribuindo os tipos ...
Devo implementar o Applicative e o Functor para implementar uma Mônada
Estou tentando implementar uma instância do Monad. Como um exemplo mais simples, assuma o seguinte: data Maybee a = Notheeng | Juust a instance Monad Maybee where return x = Juust x Notheeng >>= f = Notheeng Juust x >>= f = f x fail _ = ...
Posso garantir que Haskell execute E / S atômica?
Eu tenho dois threads no haskell que executam E / S. (Eles imprimem apenas). Algo como o seguinte: thread1 :: IO () thread1 = putStrLn "One" thread2 :: IO () thread2 = putStrLn "Two"Atualmente, estou obtendo resultados como os seguintes: OnTwoe ...