cost 315 ms
有没有办法多态地提升具有 monad 类型变量的类的实例,而不会重叠实例? - Is there a way to polymorphically lift instances of a class with a monad type variable, without overlapping instances?

这个问题可以被认为是后续 将具有 `MonadIO` 类型变量的类实例提升到转换后的 monad 它提供了一个应用程序的示例,说明将在何处使用它。 这个想法是一个类型类 存在,具有不同 monad 中的基本实例 . 我想要的是一种将任何实例提升到自身或变压器堆栈中更高位置的方法,就像 ...

多个重叠实例的交互 - Interaction of multiple overlapping instances

模块Type.hs定义了同音异义词newtype ,只导出其类型构造函数,不导出值构造函数,避免暴露细节; 它还提供了一个构造函数makeType来平衡缺少值的 ctor。 为什么我需要用新类型包装String ? 因为我希望它不仅仅是一个String ; 在我的特定情况下, Type实际上称为Li ...

Haskell - 重叠实例和转换类型类 - Haskell - Overlapping Instances and Conversion typeclass

我正在编写代码以通过数学逻辑中的定义来实现扩展。 它接受语言及其扩展的描述,并输出一个新的 haskell 文件,该文件会将高级语言解析为低级语言。 当然,如果我可以将语言 C 转换为语言 B,将语言 B 转换为语言 A,那么通过组合我可以将 C 转换为 A.... 这是我面临的问题的一个最小示例: ...

对“冲突的族实例声明”感到困惑 - Confused by “Conflicting family instance declarations”

我收到一个我不太理解的冲突家庭实例错误: 结果是 由于实例 header 中的Num n约束, n不比[a]更一般。 这些对我来说似乎并不矛盾。 如果我为[a]实施Num ,以后可能会出现冲突的问题吗? 如果是这样,任何两个实例都不会存在这种潜在的冲突吗? 功能依赖会以类型族不允许的方式允许这样做吗 ...

递归列表变换中重叠实例的行为 - Behaviour of overlapping instances in recursive list transform

重叠实例的优先级未达到我的递归列表转换的预期。 我正在尝试创建一个对任意深度的嵌套列表进行操作的转置函数。 目标是具有两个功能,一个可以将“最高维度”下调为“最低”,即将具有[a,b,c]维度的嵌套列表转换为具有[[ b,c,a]和与之相反的一个[a,b,c]与[c,a,b]。 {-# ...

Show的重叠实例 - Overlapping instance for Show

假设我们有以下内容: 使用此代码,ghc抱怨: 我可以理解,它认为类型a可以派生Show或派生ListContainer ,这可能导致Show 。 我们如何避免这种情况? 我知道这里有一个函数showList ,但是它的签名有点陌生。 我已经有一个打算用来显示某些列 ...

Haskell中依赖于类型变量的默认方法实现 - Type-variable-dependent default method implementation in Haskell

我试图定义默认的方法实现,但前提是该类的类型变量派生某些其他类。 我尝试使用=>创建类型相关的实例(我是否正确使用了它?),但出现“重复实例声明错误”:( https://repl.it/@solly_ucko/Distributions ) {-# LANGUAGE Flexib ...

通过Nat-kind重叠实例 - Overlapping instances via Nat-kind

这个问题实际上是从试图将几个数学群体作为类型实现的。 循环组没有问题(其他地方定义的Data.Group实例): 但是对称组在定义某些实例时存在一些问题(通过阶乘数系统实现): 来自ghci的错误消息(仅简要说明): 那么GHC如何知道n-1是否等于1? 我还想知 ...

在不遇到重叠实例的情况下定义增量环境 - Defining incremental environments without running into overlapping instances

如何定义一个环境,我们可以在其中添加“功能”而不遇到重叠的实例? 假设我们具有以下数据类型和类型类: 现在,我们要定义几个需要环境中某些成分的函数: 我们为Has*定义了一些实例: 最后,我们想定义一个准备冰沙和沙拉的函数: 现在的第一个问题是,可以使用什么 ...

这两个实例如何重叠(涉及超出范围的类型) - How are these two instances overlapping (involving out-of-scope types)

几天前,我问了一个关于在free-monads环境中注入仿函数的问题 。 在那里建议的解决方案,基于数据类型àlaCarte使用一个类来表示仿函数之间的一种包含关系。 现在考虑以下数据类型: 并且具有以下类型的功能 Free来自Control.Monad.Free模块。 ...

如果缺少约束,GHC使用全包实例吗? - GHC uses catch-all instance if constraint is missing?

我一直在尝试使用HLists的简单实现和一个hasInt函数,如果Int是列表的成员,则该函数将返回True : 这没有给出预期的结果。 但是,如果我进行更改,它似乎确实可以工作: 至: 另一方面,如果我使用类型类函数但不包括约束,通常我希望GHC会抱怨,并且在这种情况 ...

Haskell / GHC:报告的实例重叠,而上下文仅允许一个实例 - Haskell/GHC: overlapping instances reported while context only allows a single one

尊敬的Haskell / GHC专家, 我不太明白为什么GHC报告重叠的实例,而根据提供的上下文,只有一个有效。 例如,让我们考虑以下代码: 编译可以得到: 关键是('a', True)具有(Char, Bool)类型(Char, Bool)它不是C的实例。 因此, i ...

如何为我自己的typeclass中的所有类型声明typeclass的实例(如Show)? - How to declare instances of a typeclass (like Show) for all types in my own typeclass?

我有一个类型类: 它看起来不是很有用,但是我使用它来强烈地(不仅仅是type同义词)区分语义不同的Map String Int : 并且仍然具有可在任何类型的类上运行的函数。 有没有更好的方法来进行这种区分(也许没有Wrapper实例样板)? 我想做这个: ...


 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM