我正在为表达式定义一个AST,它有三个类型参数,如下所示: {-# language DeriveFunctor, DeriveFoldable, DeriveTraversable #-} -- | a general…
标签:haskell
haskell – 插件名称查找行为从GHC 8.4系列更改
[更新:原来这是一个GHC错误,它现在已修复,定于8.6.4版本: https://ghc.haskell.org/trac/ghc/ticket/16104#comment:8] 我正在尝试将核心插件移植到GHC 8.…
haskell – 将图像绘制到threepenny-gui Canvas上
我的画布有问题.我修改了Canvas.hs示例程序,用画面将图像绘制到画布上 canvas # drawImg 在画布设置代码之后;这里供参考: canvas <- UI.canvas # set UI.heigh…
尽管明确注释,Haskell无法推断类型(或类型级别Nat)的等式?
我试图用 Haskell实现一个Braun Tree,定义如下: {-# LANGUAGE GADTs #-} {-# LANGUAGE DataKinds #-} {-# LANGUAGE PolyKinds #-} …
haskell – foldl’和foldr’的默认定义似乎很奇怪
foldl’和foldr’的默认定义似乎很奇怪.它们的默认定义为: class Foldable t where -- ... foldr' f z0 xs = foldl f' id xs z0 where f' k …
haskell – 如何获得与鼠标在某个元素上相对应的Dynamic Bool?
假设我有一个按钮和一个正方形,如下所示: main = mainWidget $do x <- button "Change color." y <- toggle False x z <- mapDy…
haskell – Monad变压器用于发信号通知没有解决方案列表与`Nothing`
问候 Haskellers的同事. 这是我更大的约束满足问题的玩具版本此刻正在努力. 下面的代码使用list monad转换器来表示给定的正整数n作为不同的小偶数之和方法. import Control.Monad.Tr…
haskell – 显式导入是否能够减少编译文件的大小?
我会问有用性.它是关于对已编译的可执行文件/库的大小的影响.不是代码可维护性或可读性. 导入特定模块 从包中导入唯一使用的模块而不是导入主模块(自己导入子模块)是否有用. 例如,使用Foreign模块(仅包含导入列表):…
haskell – 参数类型的GHC性能影响
我会用一个更具体的问题来激发一般性问题: 在GHC Haskell中,Cofree [] a应该具有与容器式Data.Tree相同的性能吗?或者额外的多态性是否导致某种运行时成本? 一般来说,是否存在与增加类型的“ari…
haskell – 我们如何与2个具有2种不同错误类型的MonadError约束进行交互?
说我有一个功能 function1 :: (MonadError String m, MonadIO m) => m Int function2 :: (MonadError Int m, MonadIO m) =…
haskell – 使用protbuf3,如何表达“Map string(Maybe CustomType)”类型?
我想在客户端和服务之间共享一个大的字典/地图.我需要能够双向设置值,并从字典/地图中删除值,而不是每次都来回传递整个地图. 我知道我可以使用以下方法创建地图: map<string, CustomType> …
haskell – 有什么方法可以快速确定为函数提供多少个类型的孔?
Typed holes提供了一种很好的方法来找到如何实现的东西:如果你知道要使用什么函数,比如foo,你可以写出类似foo _ _ _的东西,让编译器告诉你每个参数的预期类型.这使得查找任何文档几乎没有必要. 但是,只有…