7得票1回答
将一个Shapeless HList的类型映射出来

我一直在尝试映射 scala 的 shapeless 包中 HList 的类型,但没有访问其值的权限。 以下内容成功地映射了 HList 的值: import shapeless._ import shapeless.Poly._ import ops.hlist.Mapper impor...

12得票1回答
使用Slick和shapeless HList

Slick对HList的支持通常是一件好事。不幸的是,它自带的实现几乎没有提供任何有用的操作。因此,我想使用shapeless的HList。这应该很“简单”,但我不知道如何正确实现。在网上搜索时,我发现没有证据表明有人成功完成了这个任务。 我认为只需要实现一个ProvenShape(如此处所...

13得票1回答
将无形的HList转换为TupleN,其中元组的形状不一定要完全匹配HList的形状。

我想创建以下相当的内容: def toTupleN[A1, ..., AN, L <: HList](l: L): TupleN[A1, ..., AN] 使用toTupleN的代码只有在l中恰好存在一种N组合值可以创建元组时才能通过编译。其他情况应该生成编译时错误。应考虑可用的隐...

7得票1回答
形状库:检查多态函数类型约束

我正在开发一个关于经济模型的小型库,使用类型检查实体的单位,例如,我们不再写val apples = 2.0,而是写成val apples = GoodsAmount[KG, Apples](2.0)。为了创建商品包,我尝试使用shapeless库中的HLists。这个方法效果很好,但在某些情...

8得票1回答
为什么Shapeless中的_0 Nat是一个类而不是一个对象?

我正在尝试理解Shapeless,然后我看到了这个: // Base trait for type level natural numbers. trait Nat { type N <: Nat } // Encoding of successor. case class Su...

7得票1回答
Scala函数中的异构参数

我该如何将一些HList作为参数传递?这样我就可以这样做: def HFunc[F, S, T](hlist: F :: S :: T :: HNil) { // here is some code } HFunc(HList(1, true, "String")) // it w...

7得票1回答
Shapeless:尝试通过其类型限制HList元素

问题1 - 基本的LUBConstraints 我尝试使用现有的LUBConstraints进行操作时遇到了缺少证据的失败情况(请参阅以下代码块)。是否可以给出任何提示?空列表不是一个有效的长整型列表吗?没有元素违反了约束条件。 import shapeless.ops.coproduct...

8得票1回答
在Shapeless HList中查找类型类实例

假设我有一个名为Show[T]的trait,就像Scalaz中的那个一样:https://github.com/scalaz/scalaz/blob/scalaz-seven/core/src/main/scala/scalaz/Show.scala#L9。同时,我还有一个Shapeless的...

30得票3回答
在Scala HList上可以执行Map操作吗?

我现在已经完成了几个HList的实现。其中一个是基于Daniel Spiewak的Scala之地中的高级巫术演讲,另一个是基于Apocalisp博客中的一篇文章。目标是拥有一个异构列表,其主要类型不是异构的,而是更高级的种类。例如:val requests = Request[String] ...

14得票1回答
从两个HList中创建所有配对的HList

我在Scala中使用shapeless,希望编写一个函数allPairs,该函数将获取两个HList并返回所有元素对的HList。例如:import shapeless._ val list1 = 1 :: "one" :: HNil val list2 = 2 :: "two" :: HNi...