Resultados da pesquisa a pedido "ghc"

2 a resposta

Como detectar se um programa foi compilado usando -threaded?

Estou trabalhando em um daemon Haskell que usa fork / exec POSIX junto com o mecanismo de bloqueio de arquivos. Minhas experiências mostram que os bloqueios de arquivo não são herdados duranteexecuteFile com-threaded tempo de execução (consulte ...

2 a resposta

O código fica mais lento à medida que mais matrizes em caixa são alocadas

Editar: Acontece que as coisas geralmente (e não apenas operações de matriz / ref) diminuem a velocidade de criação de mais matrizes, então acho que isso pode estar medindo o tempo de GC aumentado e pode não ser tão estranho quanto eu pensava. ...

3 a resposta

Captura da exceção Control-C no GHC (Haskell)

Criei um loop de leitura-avaliação-impressão realmente simples no Haskell que captura o Control-C (UserInterrupt). No entanto, sempre que eu compilar e executar esse programa, ele sempre pega o primeiro Control-C e sempre aborta no segundo ...

1 a resposta

Técnicas para rastrear restrições

Aqui está o cenário: escrevi algum código com uma assinatura de tipo e as queixas do GHC não puderam deduzir x ~ y para algunsx ey. Geralmente, você pode jogar um osso no GHC e simplesmente adicionar o isomorfismo às restrições da função, mas ...

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