为什么定义MonadReader需要FunctionalDependency?

问题描述我刚刚理解了类的定义MonadReaderclassMonadm=>MonadReaderrm|m->rwhere...阅读了Haskell中的函数依赖文档,现在我可以理解|m->r指定类型变量r由m唯一决定。根据我目前所见的几个典型的MonadReader实例(例如Re

发布:2022-10-16 标签:type-systemsmonadshaskellghc


非穷举模式匹配仅仅是因为我省略了`否则=`?

问题描述我用Haskell编写了一个简单的程序,播放theguessinggamedescribedinTheRustProgrammingLanguagebook:它的工作原理是这样的:程序将生成一个介于1和100之间的随机整数。然后,它会提示玩家输入一个猜测。输入猜测后,它将

发布:2022-10-16 标签:pattern-matchinghaskellghcnon-exhaustive-patterns


如何在 Linux Debian Wheezy 上安装 Haskell 平台?

问题描述最初我以为我会使用apt-get使用几个命令来安装Haskell,但它似乎有点复杂.InitiallyIthoughtIwouldgetinstallHaskellwithcoupleofcommandsusingapt-getbutitsseemssomehowcomp

发布:2022-10-16 标签:linuxdebianhaskellghchaskell-platform


为什么从 GHCi 中的 monad 出来的函数类型会发生变化

问题描述从monad出来的函数的类型发生了一些变化.Somethingchangesaboutthetypeofafunctionwhenitcomesoutofamonad.在GHCI中:>:tmapmap::(a->b)->[a]->[b]>a<-returnmap>:taa

发布:2022-10-16 标签:polymorphismhaskellghcghci


关于 GHC 实施的好的介绍性文字?

问题描述在Haskell中编程时(尤其是在解决ProjectEuler问题时,次优的解决方案往往会对CPU或内存需求造成压力),我经常对为什么程序的行为方式感到困惑.我查看配置文件,尝试引入一些严格性,选择另一种数据结构,......但大多是在黑暗中摸索,因为我缺乏良好的直觉.另

发布:2022-10-16 标签:optimizationcompiler-constructionheap-memoryhaskellghc


阅读 GHC 核心

问题描述Core是GHC的中间语言.ReadingCore可以帮助您更好地了解程序的性能.有人向我索要有关阅读Core的文档或教程,但我找不到太多.哪些文档可用于阅读GHCCore?这是我目前发现的:密切相关.GHC所做的所有,托尔马赫,2001年定期出现在GHC核心输出中,当你

发布:2022-10-16 标签:performancecompiler-constructionhaskellghc


随着分配更多的盒装数组,代码变得更慢

问题描述事实证明,事情通常(不仅仅是数组/引用操作)会减慢创建更多数组的速度,所以我猜这可能只是测量增加的GC时间和可能没有我想的那么奇怪.但是我真的很想知道(并学习如何找出)这里发生了什么,以及是否有某种方法可以在创建大量小型数组的代码中减轻这种影响.原始问题如下.在调查库中一

发布:2022-10-16 标签:performancearraysgarbage-collectionhaskellghc


GHC 用于垃圾收集的 RTS 选项

问题描述我有一个Haskell程序,它处理一个文本文件并构建一个Map(包含数百万个元素).整个过程可以运行2-3分钟.我发现调整-H和-A选项会对运行时间产生很大影响.IhaveaHaskellprogramwhichprocessesatextfileandbuildsaMa

发布:2022-10-16 标签:performancegarbage-collectionhaskellghc


修复 ghc-pkg check 发现的问题

问题描述ghc-pkgcheck会列出损坏的软件包,以及它们损坏的原因,这真是太好了.但据我所知,没有自动化的方法来处理那些损坏的包裹.处理破损包裹的推荐方法是什么?(最好不要重装GHC)It'srathernicethatghc-pkgcheckwilllistbrokenpa

发布:2022-10-16 标签:dependencieshaskellghc


制作小型haskell可执行文件?

问题描述有什么好的方法可以制作小型的haskell可执行文件吗?使用ghc6,一个简单的helloworld程序似乎达到了大约370kB(剥离前为523kB).C中的Helloworld大约为4kB(剥离前为9kB).Arethereanygoodwaystomakesmallh

发布:2022-10-16 标签:linkerhaskellstatic-linkingghc