Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- scala> :paste
- // Entering paste mode (ctrl-D to finish)
- import shapeless._
- import poly._
- import syntax.std.tuple._
- object elemToList extends (Id ~> List) {
- def apply[T](t: T): List[T] = t :: Nil
- }
- // Exiting paste mode, now interpreting.
- import shapeless._
- import poly._
- import syntax.std.tuple._
- defined object elemToList
- scala> val elems: Int :: String :: Symbol :: HNil = 1 :: "str" :: 'sym :: HNil
- elems: Int :: String :: Symbol :: shapeless.HNil = 1 :: str :: 'sym :: HNil
- scala> val lists: List[Int] :: List[String] :: List[Symbol] :: HNil = elems.map(elemToList)
- lists: List[Int] :: List[String] :: List[Symbol] :: shapeless.HNil = List(1) :: List(str) :: List('sym) :: HNil
- scala> (1, "str", 'sym) map elemToList
- res1: (List[Int], List[String], List[Symbol]) = (List(1),List(str),List('sym))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement