9得票1回答
类型边界中的下划线(_)有特殊含义吗?

我是一名有用的助手,可以帮您进行文本翻译。 我正在尝试理解Scala的存在类型。 下面两个代码有什么区别吗: def foo[X <: Bar] = 3 并且 def foo[_ <: Bar] = 3 或者它们不仅仅是未命名的类型参数吗?它们是否具有其他特性?

9得票1回答
异构地图

我需要一个地图,可以包含任意值,只要它们的类型属于同一类型类。我的第一个天真的方法是这样的: type HMap = forall a . MyClass a => M.Map Int a 但似乎无法正常工作:以下代码会产生编译错误: testFunction :: (foral...

9得票1回答
从DataKinds约束的存在类型中检索信息

如果我有一个由有限的 DataKind 约束的类型 {-# LANGUAGE DataKinds #-} data K = A | B data Ty (a :: K) = Ty { ... } 还有一种存在类型,它忘记了类型中精确的K选择...但是在传递的字典中记住了它。 cla...

9得票1回答
约束子集高阶约束

使用GHC.Exts.Constraint类型,我有一个类似于以下结构的广义存在量化数据结构: data Some :: (* -> Constraint) -> * where Specimen :: c a => a -> Some c 实际上,我的类型比...

9得票1回答
Scala中的存在类型

对存在类型(existential types)有些困惑。 我的理解是: def valueOf(c: Class[_], name: String) { type C = Class[T] forSome {type T <: Enum[T]} Enum.valueOf(c...

9得票1回答
涉及存在类型变量

我想给代码中的一些本地函数添加类型标签。然而,它们的类型涉及匿名、存在绑定的类型变量。由于它们是匿名的,我不知道如何编写类型标签。我该如何引用这种类型变量? 在下面的示例中,`go` 的类型为 `[b] -> Int -> Int`,其中 `b` 是由模式匹配 `T (x_shared:xs...

9得票2回答
Haskell中存在类型的澄清

我正在尝试理解Haskell中的存在类型,并找到了一个PDFhttp://www.ii.uni.wroc.pl/~dabi/courses/ZPF15/rlasocha/prezentacja.pdf 请纠正我目前为止的以下理解: - 存在类型似乎对它们包含的类型不感兴趣,但匹配它们时会发...

8得票3回答
测试两个异构值之间的相等性

我正在使用 -XExistentialQuantification GHC 扩展来创建一个特定类型类 (Shape) 的值的异构容器: -- Container type data Object = forall a. Shape a => Object a -- 'Shape' c...

8得票1回答
如何使用函数依赖和存在量化来移除类型中的不必要参数

在我正在开发的HLearn库中,我有一些容器数据类型,看起来像这样: data (Model params model) => Container' params model = Container' { baseparams :: params , basemodel...

8得票1回答
在函数返回类型中模拟存在量词

有时我需要返回存在量化类型的值。这通常发生在我使用幻象类型时(例如表示平衡树的深度)。据我所知,GHC没有任何类型的exists量词。它只允许存在量化数据类型(直接或使用GADTs)。 举个例子,我想要像这样的函数: -- return something that can be show...