Advertisement
Guest User

Untitled

a guest
Jun 20th, 2017
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Scala 0.82 KB | None | 0 0
  1. scala> :paste
  2. // Entering paste mode (ctrl-D to finish)
  3.  
  4. import shapeless._
  5. import poly._
  6. import syntax.std.tuple._
  7.  
  8. object elemToList extends (Id ~> List) {
  9.   def apply[T](t: T): List[T] = t :: Nil
  10. }
  11.  
  12. // Exiting paste mode, now interpreting.
  13.  
  14. import shapeless._
  15. import poly._
  16. import syntax.std.tuple._
  17. defined object elemToList
  18.  
  19. scala> val elems: Int :: String :: Symbol :: HNil = 1 :: "str" :: 'sym :: HNil
  20. elems: Int :: String :: Symbol :: shapeless.HNil = 1 :: str :: 'sym :: HNil
  21.  
  22. scala> val lists: List[Int] :: List[String] :: List[Symbol] :: HNil =  elems.map(elemToList)
  23. lists: List[Int] :: List[String] :: List[Symbol] :: shapeless.HNil = List(1) :: List(str) :: List('sym) :: HNil
  24.  
  25. scala> (1, "str", 'sym) map elemToList
  26. res1: (List[Int], List[String], List[Symbol]) = (List(1),List(str),List('sym))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement