Resultados da pesquisa a pedido "ghc"
Por que não existem variáveis de tipo quantificadas existencialmente no GHC Haskell
Existem variáveis de tipo quantificadas universalmente e existem tipos de dados quantificados existencialmente. No entanto, apesar de as pessoas fornecerem pseudocódigo da formaexists a. Int -> a para ajudar a explicar conceitos, às vezes, não ...
Correspondência de padrões no tipo rank 2
Estou tentando entender por que uma versão desse código é compilada e outra não. {-# LANGUAGE RankNTypes, FlexibleContexts #-} module Foo where import Data.Vector.Generic.Mutable as M import Data.Vector.Generic as V import Control.Monad.ST ...
Como posso criar um ThreadId, pois sei o número real?
Muitas vezes acontece comigo ao depurar ou brincar no GHCi que eu conheço o realThreadId número (por exemplo, usandoDebug.Trace), mas é tudo o que tenho. O problema é que todas as APIs de encadeamento, comokillThread requer umThreadId e não ...
O que acontece com os threads filhos quando seus pais morrem no GHC Haskell?
A documentação paraforkIO diz GHC note: the new thread inherits the masked state of the parent (see mask). The newly created thread has an exception handler that discards the exceptions BlockedIndefinitelyOnMVar, BlockedIndefinitelyOnSTM, and ...
Ordem de ações de E / S incorreta usando putStr e getLine
Eu tenho o seguinte código: main = do putStr "Test input : " content <- getLine putStrLn contentQuando eu o executo (comrunhaskell) ou compilá-lo (ghc 6.10.4), o resultado é o seguinte: asd Test input : asdPorque éTest input : asd sendo ...
Várias dobras em uma passagem usando a função tupla genérica
Como escrever uma função que utiliza uma tupla de funções do tipoai -> b -> ai e retorna uma função que utiliza uma tupla de elementos do tipoai, um elemento do tipobe combina cada um dos elementos em uma nova tupla deai: Essa é a assinatura ...
A compilação de Haskell com -O2 aumenta drasticamente o uso de memória
Este programa simples é executado no espaço de memória constante quando compilado sem sinalizadores com ghc: import Data.List f x = x*x g a = foldl' (+) (f a) [1..(1073741824-1)] main = do putStrLn $ show $ foldl' (+) 0 $ map g [0,1]Quando ...
Reescrever como uma técnica prática de otimização no GHC: é realmente necessário?
Eu estava lendo o artigo de autoria de Simon Peyton Jones, et al. nomeado “Jogando de acordo com as regras: reescrevendo como uma técnica prática de otimização no GHC” [http://research.microsoft.com/en-us/um/people/simonpj/papers/rules.htm]. ...
Como as listas são implementadas em Haskell (GHC)?
Eu estava curioso sobre alguns detalhes exatos de implementação de listas em Haskell (respostas específicas para o GHC são boas) - são listas vinculadas ingênuas ou otimizações especiais? Mais especificamente: Fazlength e(!!) (por exemplo) ...
O que exatamente é o tipo "*" em Haskell?
Em Haskell, expressões (em nível de valor) são classificadas emtipos, que pode ser anotado com:: igual a:3 :: Int, "Hello" :: String, (+ 1) :: Num a => a -> a. Da mesma forma, os tipos são classificados emtipos. No GHCi, você pode inspecionar o ...