ghc

    1热度

    1回答

    我不想禁用在Haskell中检查伴随绑定的函数。 我想这样做的原因是能够通过矛盾来实施证明。以下类型的签名没有任何约束力,不应该如此。 zeroDoesNotEqualOne :: Refl Z (S Z) -> Bottom Refl Z (S Z)类型没有居民,因此应该没有约束力。 在上面的代码中的类型意味着你可以预料到的,使得S Z是皮亚诺自然的1和Refl只有类型的单个居民Refl a

    4热度

    2回答

    有没有办法在O(1)的时间内得到ByteString中的第一个UTF-8 Char?我正在寻找类似 headUtf8 :: ByteString -> Char tailUtf8 :: ByteString -> ByteString 我还没有限制使用严格或懒惰ByteString,但我更喜欢严格。对于懒惰的ByteString,我可以通过Text拼凑一些东西,但我不确定这是多高效(特别是空

    1热度

    2回答

    是否可以在程序中设置RTS选项? 具体来说,我想要达到相同 ./my-prog +RTS -M4G 我知道哈斯克尔堆栈,你可以决定在编译时的一些RTS选项。但我不想在编译时修复这些选项,因为我希望我的程序从配置文件中读取这些选项,并让它知道这些选项。 GHC可以吗?

    2热度

    2回答

    我正在解析同时具有<和<<的语言。在我的亚历克斯定义我已经得到的东西,它包含类似 tokens :- "<" { token Lt } "<<" { token (BinOp Shl) } 所以每当我遇到<<,是被符号化的左移和不以低于的。这通常是一件好事,因为我最终在标记后抛出空白,并且想区分1 < < 2和1 << 2。不过,还有其他的时候我希望<<已经被读为两个<。例如,

    0热度

    1回答

    我想进口splitOn不使用惊天动地或堆栈。那可能吗?它GHCI拒绝importData.Text,Data.List.Split或Data.Split,什么是不使用惊天动地或堆栈中的下一个步骤?是否可以直接从GHCi中导入? 谢谢。

    0热度

    1回答

    我有这样的依赖图(忽略第三方模块的依赖)引导模块: Main: GSI.Util GSI.Value GSI.Result GSI.Eval GSI.ByteCode GSI.Thread GSI.Main: GSI.Value GSI.ByteCode GSI.Thread: GSI.Util

    0热度

    2回答

    我正在使用yesod-simple模板构建一个简单的web应用程序(称为pkb)。我需要一堆没有LTS-6.25最新版本的库(当前默认为yesod-simple),所以我将解析器更改为stack.yaml中的lts-7.9。我也看了this issue with GHC 8.0.1和它周围的成功合作,加入 {-# LANGUAGE NoDisambiguateRecordFields #-} {

    5热度

    3回答

    GHC重写assert时优化只是id。或者,它的行为可以通过编译器标志来改变。不过,我注意到trace也没有发生同样的情况。如果标志未被设置或被设置,是否有trace的版本,最终结果为id? 更一般地说,是否有方法根据用于编译调用模块的编译器标志(而不是用于编译自身的标志)来改变函数的行为。就像assert一样。或者这是GHC的魔法,只能发生在assert?

    0热度

    1回答

    我不确定在Haskell中是否有内置的Date类型,但很难说,我也找不到任何文档。 这里是我的import语句 import Data.Aeson (FromJSON (..), ToJSON (..), Value, genericParseJSON, genericToJSON) import Data.Aeson.Types (Options (..), defaultOpti

    5热度

    2回答

    我试图从GHC分析器中理解。有一个相当简单的应用程序,它使用werq和lens-aeson图书馆,并在了解GHC分析时,决定玩一下它。 使用不同的选项(time工具,+RTS -p -RTS和+RTS -p -h)我获得了完全不同数量的我的内存使用情况。拥有所有这些数字后,我现在完全失去了试图了解正在发生的事情以及应用程序实际使用的内存量。 这种情况让我想起了Arthur Bloch的一句话:“有