Perguntas com a marcação «haskell»

Haskell é uma linguagem de programação funcional com forte digitação estática, avaliação lenta, amplo suporte a paralelismo e simultaneidade e recursos exclusivos de abstração.


6
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 técnica.
147 haskell  ghc 

1
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 Text Committee name Text CommitteePerson personId PersonId committeeId CommitteeId …
144 sql  list  haskell  esqueleto 

2
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]’ || Expected type: containers-0.5.6.2:Data.Map.Base.Map || [GHC.Types.Char] || ([(integer-gmp-1.0.0.0:GHC.Integer.Type.Integer, …
143 haskell  ghc  ghc-mod 

1
Uso adequado da API HsOpenSSL para implementar um servidor TLS
Estou tentando descobrir como usar corretamente o API OpenSSL.Session em um contexto simultâneo Por exemplo, suponha que eu queira implementar um stunnel-style ssl-wrapper, eu esperaria ter a seguinte estrutura básica do esqueleto, que implementa uma ingênuafull-duplex tcp-port-forwarder: runProxy :: PortID -> AddrInfo -> IO () runProxy localPort@(PortNumber lpn) serverAddrInfo = …
141 haskell  openssl  ssl 


1
Como enviar um executável com o Language.Haskell.Interpreter?
Eu esperava incorporar um intérprete Haskell usando hintpara que eu pudesse escrever plugins no Haskell para usar com o meu programa. Não quero ter que enviar toda a plataforma Haskell para meus executáveis. Normalmente, os executáveis ​​Haskell são bem independentes. Por exemplo, apagar o arquivo PATHnão causa problemas: $ PATH=. …

8
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 fibonacci até o n …


5
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 …
134 haskell  ghci 


5
Reduzindo o tempo de pausa na coleta de lixo em um programa Haskell
Estamos desenvolvendo um programa que recebe e encaminha "mensagens", mantendo um histórico temporário dessas mensagens, para que ele possa lhe informar o histórico, se solicitado. As mensagens são identificadas numericamente, geralmente têm cerca de 1 kilobyte e precisamos manter centenas de milhares dessas mensagens. Desejamos otimizar este programa para latência: …

4
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: …
130 haskell 


4
Quais são alguns casos de uso convincentes para tipos de métodos dependentes?
Os tipos de métodos dependentes, que antes eram um recurso experimental, agora foram ativados por padrão no porta-malas e, aparentemente, isso parece ter gerado algum entusiasmo na comunidade Scala. À primeira vista, não é imediatamente óbvio para que isso poderia ser útil. Heiko Seeberger postou um exemplo simples de tipos …

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.