HList元素的类型级包装器

时间:2014-03-16 09:54:07

标签: scala shapeless

是否可以创建一个类型级函数来为集合的HList类型提供紧凑的语法?

以下一行:

val l: Set[Int] :: Set[String] :: Set[Boolean] :: HNil =
    Set(1, 2) :: Set("abc") :: Set(true, false) :: HNil

可以改写为:

val l: HListOfSets[Int :: String :: Boolean :: HNil] =
    Set(1, 2) :: Set("abc") :: Set(true, false) :: HNil

1 个答案:

答案 0 :(得分:0)

type s_::[E, +T <: HList] = shapeless.::[Set[E], T]

val l: Int s_:: String s_:: Boolean s_:: HNil =
  Set(1, 2) :: Set("abc") :: Set(true, false) :: HNil