2010-06-01 14:38:56 +02:00
|
|
|
/* sbt -- Simple Build Tool
|
|
|
|
|
* Copyright 2010 Mark Harrah
|
|
|
|
|
*/
|
2010-05-31 00:42:58 +02:00
|
|
|
package sbt
|
|
|
|
|
|
2010-08-30 15:10:25 +02:00
|
|
|
object Types extends Types
|
2010-05-31 00:42:58 +02:00
|
|
|
{
|
2010-08-22 04:55:42 +02:00
|
|
|
implicit def hconsToK[M[_], H, T <: HList](h: M[H] :+: T)(implicit mt: T => KList[M, T]): KList[M, H :+: T] =
|
|
|
|
|
KCons[H, T, M](h.head, mt(h.tail) )
|
|
|
|
|
implicit def hnilToK(hnil: HNil): KNil = KNil
|
2010-06-07 14:53:21 +02:00
|
|
|
}
|
2010-08-30 15:10:25 +02:00
|
|
|
|
|
|
|
|
trait Types extends TypeFunctions
|
|
|
|
|
{
|
|
|
|
|
val :^: = KCons
|
|
|
|
|
val :+: = HCons
|
|
|
|
|
type :+:[H, T <: HList] = HCons[H,T]
|
|
|
|
|
}
|