Package

shapeless

Permalink

package shapeless

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. shapeless
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait :+:[+H, +T <: Coproduct] extends Coproduct

    Permalink
  2. final case class ::[+H, +T <: HList](head: H, tail: T) extends HList with Product with Serializable

    Permalink

    Non-empty HList element type.

  3. trait <:!<[A, B] extends AnyRef

    Permalink
  4. trait =:!=[A, B] extends AnyRef

    Permalink
  5. trait AdditiveCollection[Repr] extends Serializable

    Permalink

    Evidence that Repr instances can be nested in a Sized.

    Evidence that Repr instances can be nested in a Sized.

    Should assert that a Builder[_, Repr] given n elements will result in a Repr of length n.

  6. class ApplyEverything[F <: Poly] extends AnyRef

    Permalink
  7. trait ApplyUnapplyFacet extends ProductISOFacet

    Permalink
  8. trait BasisConstraint[L <: HList, M <: HList] extends Serializable

    Permalink

    Type class witnessing that every element of L is an element of M.

  9. sealed trait CNil extends Coproduct

    Permalink
  10. class CachedImplicitMacros extends AnyRef

    Permalink
  11. trait CaseClassFacet extends AnyRef

    Permalink
  12. trait CaseClassMacros extends ReprTypes

    Permalink
  13. trait CaseInst extends AnyRef

    Permalink
  14. trait Cases extends AnyRef

    Permalink
  15. type Const[C] = AnyRef { type λ[T] = C }

    Permalink
  16. sealed trait Coproduct extends AnyRef

    Permalink
  17. trait CopyFacet extends CaseClassFacet

    Permalink
  18. trait Coselect[T] extends AnyRef

    Permalink
  19. trait Data[F, T, R] extends Serializable

    Permalink

    Type class representing one-level generic queries.

  20. trait Data0 extends AnyRef

    Permalink
  21. trait Data1 extends Data0

    Permalink
  22. trait DataT[F, T] extends Serializable

    Permalink

    Type class representing one-level generic transformations.

  23. trait DataT0 extends AnyRef

    Permalink
  24. trait DataT1 extends DataT0

    Permalink
  25. trait DefaultCaseClassDefns extends ApplyUnapplyFacet with ProductFacet with PolymorphicEqualityFacet with CopyFacet with ToStringFacet

    Permalink
  26. trait DefaultSymbolicLabelling[T] extends DepFn0 with Serializable

    Permalink
  27. trait DepFn0 extends AnyRef

    Permalink

    Dependent nullary function type.

  28. trait DepFn1[T] extends AnyRef

    Permalink

    Dependent unary function type.

  29. trait DepFn2[T, U] extends AnyRef

    Permalink

    Dependent binary function type.

  30. trait DerivationContext extends CaseClassMacros

    Permalink
  31. type Everything[F <: Poly, K <: Poly, T] = Case[EverythingAux[F, K], ::[T, HNil]]

    Permalink

    The SYB everything combinator

  32. class EverythingAux[F, K] extends Poly

    Permalink
  33. type Everywhere[F <: Poly, T] = Case[EverywhereAux[F], ::[T, HNil]]

    Permalink

    The SYB everywhere combinator

  34. class EverywhereAux[F] extends Poly

    Permalink
  35. trait FieldOf[V] extends AnyRef

    Permalink

    Field with values of type V.

    Field with values of type V.

    Record keys of this form should be objects which extend this trait. Keys may also be arbitrary singleton typed values, however keys of this form enforce the type of their values.

  36. trait FieldPoly extends Poly1

    Permalink

    Polymorphic function that allows modifications on record fields while preserving the original key types.

  37. trait Fin[N <: Succ[_]] extends AnyRef

    Permalink

    Base trait for type level finite numbers, i.e.

    Base trait for type level finite numbers, i.e. numbers less than some bound N

  38. case class FinSucc[N <: Succ[_], P <: Fin[N]]() extends Fin[Succ[N]] with Product with Serializable

    Permalink

    Encoding of successor.

  39. case class FinZero[N <: Succ[_]]() extends Fin[N] with Product with Serializable

    Permalink

    Encoding of zero.

  40. trait Generic[T] extends Serializable

    Permalink
  41. trait Generic1[F[_], FR[_[_]]] extends Serializable

    Permalink
  42. class Generic1Macros extends CaseClassMacros

    Permalink
  43. class GenericMacros extends CaseClassMacros

    Permalink
  44. sealed trait HList extends Product with Serializable

    Permalink

    HList ADT base trait.

  45. class HMap[R[_, _]] extends Poly1

    Permalink

    Heterogenous map with type-level key/value associations that are fixed by an arbitrary relation R.

    Heterogenous map with type-level key/value associations that are fixed by an arbitrary relation R.

    HMaps extend Poly and hence are also polymorphic function values with type-specific cases corresponding to the map's type-level key/value associations.

  46. class HMapBuilder[R[_, _]] extends AnyRef

    Permalink
  47. sealed trait HNil extends HList

    Permalink

    Empty HList element type.

  48. trait HasCoproductGeneric[T] extends Serializable

    Permalink
  49. trait HasProductGeneric[T] extends Serializable

    Permalink
  50. type Id[+T] = T

    Permalink
  51. trait InferProduct[C <: Coproduct, K] extends AnyRef

    Permalink
  52. final case class Inl[+H, +T <: Coproduct](head: H) extends :+:[H, T] with Product with Serializable

    Permalink
  53. final case class Inr[+H, +T <: Coproduct](tail: T) extends :+:[H, T] with Product with Serializable

    Permalink
  54. trait IsCCons1[L[_], FH[_[_]], FT[_[_]]] extends AnyRef

    Permalink
  55. class IsCCons1Macros extends IsCons1Macros

    Permalink
  56. trait IsCons1Macros extends CaseClassMacros

    Permalink
  57. trait IsHCons1[L[_], FH[_[_]], FT[_[_]]] extends AnyRef

    Permalink
  58. class IsHCons1Macros extends IsCons1Macros

    Permalink
  59. trait IsTuple[T] extends Serializable

    Permalink
  60. trait KeyConstraint[L <: HList, M <: HList] extends Serializable

    Permalink

    Type class witnessing that every element of L is of the form FieldType[K, V] where K is an element of M.

  61. trait LUBConstraint[L <: HList, B] extends Serializable

    Permalink

    Type class witnessing that every element of L is a subtype of B.

  62. trait LabelledGeneric[T] extends Generic[T]

    Permalink
  63. class LabelledMacros extends SingletonTypeUtils with CaseClassMacros

    Permalink
  64. trait LabelledProductTypeClass[C[_]] extends AnyRef

    Permalink

    A type class abstracting over the product operation of type classes over types of kind *, as well as deriving instances using an isomorphism.

    A type class abstracting over the product operation of type classes over types of kind *, as well as deriving instances using an isomorphism. Refines ProductTypeClass with the addition of runtime String labels corresponding to the names of the product elements.

  65. trait LabelledProductTypeClassCompanion[C[_]] extends AnyRef

    Permalink
  66. trait LabelledTypeClass[C[_]] extends LabelledProductTypeClass[C]

    Permalink

    A type class additionally abstracting over the coproduct operation of type classes over types of kind *.

    A type class additionally abstracting over the coproduct operation of type classes over types of kind *.

    Name hints can be safely ignored.

  67. trait LabelledTypeClassCompanion[C[_]] extends LabelledProductTypeClassCompanion[C]

    Permalink
  68. trait Lazy[+T] extends Serializable

    Permalink
  69. class LazyMacros extends AnyRef

    Permalink
  70. trait Lens[S, A] extends Dynamic with Serializable

    Permalink
  71. trait LowPriorityMkPathOptic extends AnyRef

    Permalink
  72. trait LowPriorityMkSelectDynamicOptic extends AnyRef

    Permalink
  73. trait LowPrioritySegment extends AnyRef

    Permalink
  74. trait LowPrioritySized extends AnyRef

    Permalink
  75. trait LowPriorityTypeable extends AnyRef

    Permalink
  76. trait LowPriorityWitnessWith extends AnyRef

    Permalink
  77. trait Lub[-A, -B, Out] extends Serializable

    Permalink

    Type class witnessing the least upper bound of a pair of types and providing conversions from each to their common supertype.

  78. trait MkCoproductSelectPrism[C <: Coproduct, T] extends Serializable

    Permalink
  79. trait MkCtorPrism[A, B] extends AnyRef

    Permalink
  80. trait MkFieldLens[A, K] extends AnyRef

    Permalink
  81. trait MkGenericLens[T] extends Serializable

    Permalink
  82. trait MkHListNthLens[L <: HList, N <: Nat] extends Serializable

    Permalink
  83. trait MkHListSelectLens[L <: HList, U] extends Serializable

    Permalink
  84. trait MkLabelledGenericLens[T] extends Serializable

    Permalink
  85. trait MkNthFieldLens[A, N <: Nat] extends AnyRef

    Permalink
  86. trait MkPathOptic[S, P <: HList] extends AnyRef

    Permalink
  87. trait MkRecordSelectLens[R <: HList, K] extends Serializable

    Permalink
  88. trait MkSelectDynamicOptic[R, A, K, B] extends AnyRef

    Permalink
  89. trait Nat extends AnyRef

    Permalink

    Base trait for type level natural numbers.

  90. trait Nats extends AnyRef

    Permalink
  91. trait OpticComposer[L, R] extends AnyRef

    Permalink
  92. case class Orphan[F[_], D, T](instance: F[T]) extends Product with Serializable

    Permalink
  93. trait OrphanDeriver[F[_], D] extends AnyRef

    Permalink
  94. class OrphanMacros extends CaseClassMacros

    Permalink
  95. trait Path[T <: HList] extends Dynamic

    Permalink
  96. trait Poly extends PolyApply with Serializable

    Permalink

    Base trait for polymorphic values.

  97. trait Poly0 extends Poly

    Permalink

    Trait simplifying the creation of polymorphic values.

  98. trait Poly1 extends Poly

    Permalink
  99. trait Poly10 extends Poly

    Permalink
  100. trait Poly11 extends Poly

    Permalink
  101. trait Poly12 extends Poly

    Permalink
  102. trait Poly13 extends Poly

    Permalink
  103. trait Poly14 extends Poly

    Permalink
  104. trait Poly15 extends Poly

    Permalink
  105. trait Poly16 extends Poly

    Permalink
  106. trait Poly17 extends Poly

    Permalink
  107. trait Poly18 extends Poly

    Permalink
  108. trait Poly19 extends Poly

    Permalink
  109. trait Poly2 extends Poly

    Permalink
  110. trait Poly20 extends Poly

    Permalink
  111. trait Poly21 extends Poly

    Permalink
  112. trait Poly22 extends Poly

    Permalink
  113. trait Poly3 extends Poly

    Permalink
  114. trait Poly4 extends Poly

    Permalink
  115. trait Poly5 extends Poly

    Permalink
  116. trait Poly6 extends Poly

    Permalink
  117. trait Poly7 extends Poly

    Permalink
  118. trait Poly8 extends Poly

    Permalink
  119. trait Poly9 extends Poly

    Permalink
  120. trait PolyApply extends AnyRef

    Permalink
  121. trait PolyInst extends AnyRef

    Permalink
  122. class PolyMacros extends AnyRef

    Permalink
  123. trait PolymorphicEqualityFacet extends ProductISOFacet

    Permalink
  124. trait Prism[S, A] extends Dynamic with Serializable

    Permalink
  125. trait ProductArgs extends Dynamic

    Permalink

    Trait supporting mapping dynamic argument lists to HList arguments.

    Trait supporting mapping dynamic argument lists to HList arguments.

    Mixing in this trait enables method applications of the form,

    lhs.method(23, "foo", true)

    to be rewritten as,

    lhs.methodProduct(23 :: "foo" :: true)

    ie. the arguments are rewritten as HList elements and the application is rewritten to an application of an implementing method (identified by the "Product" suffix) which accepts a single HList argument.

  126. trait ProductFacet extends ProductISOFacet

    Permalink
  127. trait ProductISOFacet extends CaseClassFacet

    Permalink
  128. trait ProductLensBuilder[C, P <: Product] extends Lens[C, P]

    Permalink
  129. class ProductMacros extends SingletonTypeUtils

    Permalink
  130. trait ProductPrismBuilder[C, P <: Product] extends Prism[C, P]

    Permalink
  131. trait ProductTypeClass[C[_]] extends AnyRef

    Permalink

    A type class abstracting over the product operation of type classes over types of kind *, as well as deriving instances using an isomorphism.

  132. trait ProductTypeClassCompanion[C[_]] extends AnyRef

    Permalink
  133. trait RecordArgs extends Dynamic

    Permalink

    Trait supporting mapping named argument lists to record arguments.

    Trait supporting mapping named argument lists to record arguments.

    Mixing in this trait enables method applications of the form,

    lhs.method(x = 23, y = "foo", z = true)

    to be rewritten as,

    lhs.methodRecord('x ->> 23 :: 'y ->> "foo", 'z ->> true)

    ie. the named arguments are rewritten as record fields with the argument name encoded as a singleton-typed Symbol and the application is rewritten to an application of an implementing method (identified by the "Record" suffix) which accepts a single record argument.

  134. class RecordMacros extends AnyRef

    Permalink
  135. trait ReprTypes extends AnyRef

    Permalink
  136. trait Segment[P, S, T <: HList] extends AnyRef

    Permalink
  137. trait Select[T] extends AnyRef

    Permalink
  138. trait SingletonProductArgs extends Dynamic

    Permalink

    Trait supporting mapping dynamic argument lists to singleton-typed HList arguments.

    Trait supporting mapping dynamic argument lists to singleton-typed HList arguments.

    Mixing in this trait enables method applications of the form,

    lhs.method(23, "foo", true)

    to be rewritten as,

    lhs.methodProduct(23.narrow :: "foo".narrow :: true.narrow)

    ie. the arguments are rewritten as singleton-typed HList elements and the application is rewritten to an application of an implementing method (identified by the "Product" suffix) which accepts a single HList argument.

  139. class SingletonTypeMacros extends SingletonTypeUtils

    Permalink
  140. trait SingletonTypeUtils extends ReprTypes

    Permalink
  141. final class Sized[+Repr, L <: Nat] extends AnyVal

    Permalink

    Wrapper for a collection type witnessing that it has the statically specified length.

    Wrapper for a collection type witnessing that it has the statically specified length. Can be applied to any type which can be viewed as a GenTraversableLike, ie. standard collections, Arrays, Strings etc.

  142. class SizedBuilder[CC[_]] extends AnyRef

    Permalink
  143. class SizedOps[A0, Repr, L <: Nat] extends AnyRef

    Permalink

    Carrier for Sized operations.

    Carrier for Sized operations.

    These operations are implemented here as extension methods of the minimal Sized type to avoid issues that would otherwise be caused by its covariance.

  144. case class Succ[P <: Nat]() extends Nat with Product with Serializable

    Permalink

    Encoding of successor.

  145. trait ToStringFacet extends ProductFacet

    Permalink
  146. trait TupleTypeableInstances extends AnyRef

    Permalink
  147. trait TypeCase[T] extends Serializable

    Permalink

    Extractor for use of Typeable in pattern matching.

    Extractor for use of Typeable in pattern matching.

    Thanks to Stacy Curl for the idea.

  148. trait TypeClass[C[_]] extends ProductTypeClass[C]

    Permalink

    A type class additionally abstracting over the coproduct operation of type classes over types of kind *.

  149. trait TypeClassCompanion[C[_]] extends ProductTypeClassCompanion[C]

    Permalink
  150. trait Typeable[T] extends Serializable

    Permalink

    Type class supporting type safe cast.

  151. class TypeableMacros extends SingletonTypeUtils

    Permalink
  152. trait UnaryTCConstraint[L <: HList, TC[_]] extends Serializable

    Permalink

    Type class witnessing that every element of L has TC as its outer type constructor.

  153. class UnionMacros extends AnyRef

    Permalink
  154. trait Unpack1[-PP, FF[_], A] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A] for some higher kinded type FF[_] and type(s) A.

  155. trait Unpack10[-PP, FF[_, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J.

  156. trait Unpack11[-PP, FF[_, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K.

  157. trait Unpack12[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L.

  158. trait Unpack13[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M.

  159. trait Unpack14[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N.

  160. trait Unpack15[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O.

  161. trait Unpack16[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P.

  162. trait Unpack17[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q.

  163. trait Unpack18[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R.

  164. trait Unpack19[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S.

  165. trait Unpack2[-PP, FF[_, _], A, B] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B] for some higher kinded type FF[_, _] and type(s) A, B.

  166. trait Unpack20[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T.

  167. trait Unpack21[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U.

  168. trait Unpack22[-PP, FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V] for some higher kinded type FF[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V.

  169. trait Unpack3[-PP, FF[_, _, _], A, B, C] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C] for some higher kinded type FF[_, _, _] and type(s) A, B, C.

  170. trait Unpack4[-PP, FF[_, _, _, _], A, B, C, D] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D] for some higher kinded type FF[_, _, _, _] and type(s) A, B, C, D.

  171. trait Unpack5[-PP, FF[_, _, _, _, _], A, B, C, D, E] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E] for some higher kinded type FF[_, _, _, _, _] and type(s) A, B, C, D, E.

  172. trait Unpack6[-PP, FF[_, _, _, _, _, _], A, B, C, D, E, F] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F] for some higher kinded type FF[_, _, _, _, _, _] and type(s) A, B, C, D, E, F.

  173. trait Unpack7[-PP, FF[_, _, _, _, _, _, _], A, B, C, D, E, F, G] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G] for some higher kinded type FF[_, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G.

  174. trait Unpack8[-PP, FF[_, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H] for some higher kinded type FF[_, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H.

  175. trait Unpack9[-PP, FF[_, _, _, _, _, _, _, _, _], A, B, C, D, E, F, G, H, I] extends AnyRef

    Permalink

    Type class witnessing that type PP is equal to FF[A, B, C, D, E, F, G, H, I] for some higher kinded type FF[_, _, _, _, _, _, _, _, _] and type(s) A, B, C, D, E, F, G, H, I.

  176. trait ValueConstraint[L <: HList, M <: HList] extends Serializable

    Permalink

    Type class witnessing that every element of L is of the form FieldType[K, V] where V is an element of M.

  177. trait Witness extends Serializable

    Permalink
  178. trait WitnessWith[TC[_]] extends Witness

    Permalink
  179. case class Zipper[C, L <: HList, R <: HList, P](prefix: L, suffix: R, parent: P) extends Product with Serializable

    Permalink

    Generic Zipper for any type with a representation via Generic.

  180. class _0 extends Nat with Serializable

    Permalink

    Encoding of zero.

  181. class nonGeneric extends Annotation with StaticAnnotation

    Permalink
  182. type |¬|[T] = AnyRef { type λ[U] = shapeless.package.<:!<[U,T] }

    Permalink
  183. type |∨|[T, U] = AnyRef { type λ[X] = <:<[shapeless.package.¬¬[X],shapeless.package.∨[T,U]] }

    Permalink
  184. class ~?>[K[_], V[_]] extends Serializable

    Permalink

    Type class witnessing the existence of a natural transformation between K[_] and V[_].

    Type class witnessing the existence of a natural transformation between K[_] and V[_].

    Use this trait to represent an HMap relation of the form K[T] maps to V[T].

  185. type ¬[T] = (T) ⇒ Nothing

    Permalink
  186. type ¬¬[T] = (¬[T]) ⇒ Nothing

    Permalink
  187. type [P[_]] = ([[X](P[X]) ⇒ Nothing]) ⇒ Nothing

    Permalink
  188. type [P[_]] = P[_]

    Permalink
  189. type [T, U] = T with U

    Permalink
  190. type [T, U] = ([¬[T], ¬[U]]) ⇒ Nothing

    Permalink

Value Members

  1. object AdditiveCollection extends Serializable

    Permalink
  2. object BasisConstraint extends Serializable

    Permalink
  3. object BuildInfo extends Product with Serializable

    Permalink
  4. object Coproduct extends Dynamic

    Permalink
  5. object Data extends Data1 with Serializable

    Permalink
  6. object DataT extends DataT1 with Serializable

    Permalink
  7. object DefaultSymbolicLabelling extends Serializable

    Permalink
  8. object DerivationContext

    Permalink
  9. object EverythingAux extends Serializable

    Permalink
  10. object EverywhereAux extends Serializable

    Permalink
  11. object Fin

    Permalink
  12. object Generic extends Serializable

    Permalink
  13. object Generic1 extends Serializable

    Permalink
  14. object HList extends Dynamic with Serializable

    Permalink
  15. object HMap extends Serializable

    Permalink
  16. object HNil extends HNil with Product with Serializable

    Permalink

    Empty HList value.

  17. object HasCoproductGeneric extends Serializable

    Permalink
  18. object HasProductGeneric extends Serializable

    Permalink
  19. object InferProduct

    Permalink
  20. object IsCCons1

    Permalink
  21. object IsHCons1

    Permalink
  22. object IsTuple extends Serializable

    Permalink
  23. object KeyConstraint extends Serializable

    Permalink
  24. object LUBConstraint extends Serializable

    Permalink
  25. object LabelledGeneric extends Serializable

    Permalink
  26. object Lazy extends Serializable

    Permalink
  27. object LazyMacros

    Permalink
  28. object Lub extends Serializable

    Permalink
  29. object MkCoproductSelectPrism extends Serializable

    Permalink
  30. object MkCtorPrism

    Permalink
  31. object MkFieldLens

    Permalink
  32. object MkGenericLens extends Serializable

    Permalink
  33. object MkHListNthLens extends Serializable

    Permalink
  34. object MkHListSelectLens extends Serializable

    Permalink
  35. object MkLabelledGenericLens extends Serializable

    Permalink
  36. object MkNthFieldLens

    Permalink
  37. object MkPathOptic extends LowPriorityMkPathOptic

    Permalink
  38. object MkRecordSelectLens extends Serializable

    Permalink
  39. object MkSelectDynamicOptic extends LowPriorityMkSelectDynamicOptic

    Permalink
  40. object Nat extends Nats

    Permalink

    Type level encoding of the natural numbers.

  41. object NatMacros

    Permalink
  42. object OpticComposer

    Permalink
  43. object OpticDefns

    Permalink
  44. object Orphan extends Serializable

    Permalink
  45. object Path extends Path[HNil]

    Permalink
  46. object Poly extends PolyInst with Serializable

    Permalink

    Provides implicit conversions from polymorphic function values to monomorphic function values, eg.

    Provides implicit conversions from polymorphic function values to monomorphic function values, eg. for use as arguments to ordinary higher order functions.

  47. object PolyDefns extends Cases

    Permalink
  48. object Segment extends LowPrioritySegment

    Permalink
  49. object Sized extends LowPrioritySized

    Permalink
  50. object TheMacros

    Permalink
  51. object Tuple

    Permalink
  52. object TypeCase extends Serializable

    Permalink
  53. object Typeable extends TupleTypeableInstances with LowPriorityTypeable with Serializable

    Permalink

    Provides instances of Typeable.

    Provides instances of Typeable. Also provides an implicit conversion which enhances arbitrary values with a cast[T] method.

  54. object UnaryTCConstraint extends Serializable

    Permalink
  55. object Unpack1

    Permalink
  56. object Unpack10

    Permalink
  57. object Unpack11

    Permalink
  58. object Unpack12

    Permalink
  59. object Unpack13

    Permalink
  60. object Unpack14

    Permalink
  61. object Unpack15

    Permalink
  62. object Unpack16

    Permalink
  63. object Unpack17

    Permalink
  64. object Unpack18

    Permalink
  65. object Unpack19

    Permalink
  66. object Unpack2

    Permalink
  67. object Unpack20

    Permalink
  68. object Unpack21

    Permalink
  69. object Unpack22

    Permalink
  70. object Unpack3

    Permalink
  71. object Unpack4

    Permalink
  72. object Unpack5

    Permalink
  73. object Unpack6

    Permalink
  74. object Unpack7

    Permalink
  75. object Unpack8

    Permalink
  76. object Unpack9

    Permalink
  77. object ValueConstraint extends Serializable

    Permalink
  78. object Witness extends Dynamic with Serializable

    Permalink
  79. object WitnessWith extends LowPriorityWitnessWith with Serializable

    Permalink
  80. object Zipper extends Serializable

    Permalink
  81. val ^: Path.type

    Permalink
  82. macro def cachedImplicit[T]: T

    Permalink
  83. def everything(f: Poly): ApplyEverything[f.type]

    Permalink
  84. def everywhere(f: Poly): EverywhereAux[f.type]

    Permalink
  85. val fin: Fin.type

    Permalink

    'Fin'

  86. object labelled

    Permalink
  87. object lazily

    Permalink
  88. val lens: OpticDefns.type

    Permalink
  89. val nat: Nat.type

    Permalink

    Nat literals

  90. implicit def neq[A, B]: =:!=[A, B]

    Permalink
  91. implicit def neqAmbig1[A]: =:!=[A, A]

    Permalink
  92. implicit def neqAmbig2[A]: =:!=[A, A]

    Permalink
  93. object newtype

    Permalink
  94. implicit def nsub[A, B]: <:!<[A, B]

    Permalink
  95. implicit def nsubAmbig1[A, B >: A]: <:!<[A, B]

    Permalink
  96. implicit def nsubAmbig2[A, B >: A]: <:!<[A, B]

    Permalink
  97. package ops

    Permalink
  98. val optic: OpticDefns.type

    Permalink

    Optic definitions

  99. val poly: PolyDefns.type

    Permalink

    Poly definitions

  100. val prism: OpticDefns.type

    Permalink
  101. object productElements extends Poly1

    Permalink

    Higher ranked function which converts products to HLists.

  102. object record

    Permalink

    Record operations on HList's with field-like elements.

  103. package syntax

    Permalink
  104. object tag

    Permalink
  105. package test

    Permalink
  106. object the extends Dynamic

    Permalink

    An enhanced alternative to Predef.implicitly.

    An enhanced alternative to Predef.implicitly.

    Used as a term the[T] yields the unique implicit value of type T in the current implicit scope, if any. It is a compile time error if there is no such value. Its primary advantage over Predef.implicitly is that it will preserve any refinement that the implicit definition has, resulting in more precisely typed, and hence often more useful, values,

    scala> trait Foo { type T ; val t: T }
    defined trait Foo
    
    scala> implicit val intFoo: Foo { type T = Int } = new Foo { type T = Int ; val t = 23 }
    intFoo: Foo{type T = Int} = $anon$1@6067b682
    
    scala> implicitly[Foo].t  // implicitly loses precision
    res0: Foo#T = 23
    
    scala> implicitly[Foo].t+13
    <console>:13: error: type mismatch;
     found   : Int(13)
     required: String
                  implicitly[Foo].t+13
                                    ^
    
    scala> the[Foo].t         // the retains it
    res1: Int = 23
    
    scala> the[Foo].t+13
    res2: Int = 36

    Unlike implicitly, the can also be used in type position, thanks to a trick due to Denys Shabalin (@den_sh) and Eugene Burmako (@xeno_by). Here we use a combination of selectDynamic and backticks to embed a type in a path which appears to the compiler as stable,

    scala> val i: implicitly[Foo].T = 23  // syntax error
    <console>:1: error: ';' expected but '.' found.
           val i: implicitly[Foo].T = 23
                                 ^
    scala> val i: the.`Foo`.T = 23        // OK
    i: Int = 23
  107. object tupled extends Poly1

    Permalink

    Higher ranked function which converts HLists to tuples.

  108. def unexpected: Nothing

    Permalink
  109. object union

    Permalink
  110. object ~?> extends Serializable

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped