Resultados da pesquisa a pedido "haskell"
Por que precisamos de mônadas?
Na minha humilde opinião, as respostas à famosa pergunta"O que é uma mônada?" [https://stackoverflow.com/questions/44965/what-is-a-monad], especialmente os mais votados, tente explicar o que é uma mônada sem explicar claramentepor que as mônadas ...
Como usar o bind com mônadas aninhadas?
Eu tenho duas funções, uma que tenta obter um token de um serviço da web e pode falhar e outra que tenta usar esse token para obter o nome de usuário e pode falhar. getToken :: IO (Maybe Token) getUsername :: Token -> IO (Maybe ...
Iterar todas as combinações de pares sem repetição no Haskell
Em haskell, dada uma lista de elementos,xs, a maneira mais simples de iterar todas as permutações de pares com repetições é: [(x,y) | x <- xs, y <- xs]Eu gostaria de poder fazer o mesmo, mas apenas em combinações. Se xey fossem comparáveis, eu ...
Como posso ler os metadados de um tipo em tempo de execução?
Eu gostaria de escrever um programa que imprima alguns metadados do tipo Haskell. Embora eu saiba que esse código não é válido, a ideia é algo como: data Person = Person { name :: String, age :: Int } metadata :: Type -> String metadata t = ??? ...
O envio de um Haskell TypeClass é dinâmico?
Dado o seguinte instantâneo de código Haskell: class Foo a where bar :: a -> ... quux :: a -> ... ...Onde o valor de a é determinado em tempo de execução - a classe despacha esse valor. Estou assumindo que o compilador possa verificar ...
Código de verificação de versão do GHC
Estou contribuindo paraAlex [http://github.com/simonmar/alex], e obviamente depende de muitas bibliotecas e deve ser compilado para muitas versões. Preciso usar uma função que está disponível apenas emGHC 7.6.1 para lidar melhor com um erro. ...
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 = -nAté agora, tentei pressionar Enter após a primeira linha: Prelude> let abs n | n >= 0 = ...
Aplicando uma lista de funções no Haskell
Eu escrevi uma função que aplica uma lista de funções a um item. applyAll :: [a -> b] -> a -> [b] applyAll [] _ = [] applyAll (f:fs) x = (f x) : (applyAll fs x)Há uma melhor forma de fazê-lo?
Lista de qualquer `DataKind` no GADT
aviso LegalGADTs e DataKinds são um território inexplorado para mim, portanto, algumas das limitações e capacidades deles são desconhecidas para mim. A questãoEntão, eu estou escrevendo um AST para um emissor de código JavaScript, e identifiquei ...
Instale pacotes Haskell usando o cabal sem conexão à Internet
Eu tenho uma máquina que não tem acesso à Internet. Instalei a plataforma Haskell nela usando o instalador que obtive de outra máquina através de um pendrive. Agora eu quero instalar o pacoterepa na minha máquina doméstica que não tem acesso à ...