Resultados da pesquisa a pedido "ghc"

2 a resposta

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 ...

3 a resposta

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 ...

1 a resposta

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 ...

3 a resposta

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 ...

1 a resposta

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 ...

2 a resposta

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 ...

2 a resposta

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 ...

3 a resposta

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]. ...

3 a resposta

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) ...

3 a resposta

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 ...