package util

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. util
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Package Members

  1. package algebraic
  2. package free
  3. package ops
  4. package typealigned

Type Members

  1. sealed abstract class APairK[F[_[_]], G[_[_]]] extends AnyRef
  2. trait Aggregator[B, A] extends (B, A) => B

    Represents the kind of function that one passes to foldLeft, as a typeclass.

  3. abstract class AggregatorK[B, F[_]] extends AnyRef
  4. trait Catenable[F[_]] extends PlusEmpty[F]
  5. trait Choose[L <: HList, C <: HList] extends (L) => C
  6. trait ChooseByNats[L <: HList, C <: HList, NS <: HList] extends (NS) => Choose[L, C]
  7. trait ChooseByPtrs[L <: HList, C <: HList, Ptrs <: HList] extends (Ptrs) => Choose[L, C]
  8. type Cont[R, A] = IndexedContsT[Id, R, R, Id, A]
  9. type ContT[R, M[_], A] = IndexedContsT[Id, R, R, M, A]
  10. type ContU[M[_], A] = IndexedContsT[Id, Unit, Unit, M, A]

    Continuation monad with result type M[Unit].

  11. trait DeepEqual[A1, A2, Ptr1[_], Ptr2[_]] extends AnyRef

    Comparing of (potentially cyclic) object graphs for equality.

    Comparing of (potentially cyclic) object graphs for equality. Features:

    • abstracted over pointers;
    • termination and correctness in presence of cycles;
    • stack safety.

    XXX: Relies on meaningful hashCode and equals for Ptr1

  12. trait DeepEqualK[F1[_[_]], F2[_[_]]] extends AnyRef
  13. type DeepShow[A, Ptr[_]] = ObjectSerializer[A, String, Ptr]
  14. trait DeepShowK[A[_[_]]] extends AnyRef
  15. type Desc[Ptr[_]] = FreeObjectOutput[String, Ptr, Unit]
  16. trait EqualK[F[_]] extends AnyRef

    Universally quantified equality, isomorphic to ∀A. Equal[F[A]].

    Universally quantified equality, isomorphic to ∀A. Equal[F[A]].

    Note that equality on A is not required to compare values of F[A].

  17. sealed abstract class Exists[F[_]] extends AnyRef
  18. sealed abstract class Exists{(* -> *) -> *}[F[_[_]]] extends AnyRef
  19. trait Forall{(* -> *) -> * -> *}[F[_[_], _]] extends AnyRef

    Universally quantified value: ∀ K[_], A. F[K, A]

  20. trait Forall{(* -> *) -> *}[F[_[_]]] extends AnyRef

    Universally quantified value: ∀ K[_]. F[K]

  21. trait Forall{* -> *}[F[_]] extends AnyRef

    Universally quantified value: ∀ A. F[A]

  22. final class FreeK[F[_[_], _], A] extends AnyRef

    Free monad for type constructors of kind F[_[_], _], where F's first type parameter is recursively set to FreeK[F, ?].

    Free monad for type constructors of kind F[_[_], _], where F's first type parameter is recursively set to FreeK[F, ?]. If we pretend that recursive type aliases are legal, then FreeK is equivalent to

    type FreeK[F[_[_], _], A] = Free[F[FreeK[F, ?], ?], A]

    This is useful for instruction sets (a.k.a. algebras, DSLs, ...) that need to refer to the type of the free program that they are embedded in.

  23. final case class FreeKT[F[_[_], _], M[_], A](run: FreeT[[β$3$]F[[γ$2$]FreeKT[F, M, γ$2$], β$3$], M, A]) extends Product with Serializable
  24. final class FreeObjectOutput[R, Ptr[_], A] extends AnyRef
  25. trait FunctionK{(* -> *) -> * -> *}[F[_[_], _], G[_[_], _]] extends AnyRef

    Universally quantified function: ∀ K[_], A. F[K, A] => G[K, A]

  26. trait FunctionK{(* -> *) -> *}[F[_[_]], G[_[_]]] extends AnyRef

    Universally quantified function: ∀ K[_]. F[K] => G[K]

  27. trait FunctorKA[F[_[_], _]] extends AnyRef
  28. trait HEqual[A, B] extends AnyRef

    Heterogeneous equality, i.e.

    Heterogeneous equality, i.e. able to compare values of two disparate types.

  29. trait HEqualK[F[_]] extends EqualK[F]

    Universally quantified heterogeneous equality, isomorphic to ∀A,B. HEqual[F[A], F[B]].

    Universally quantified heterogeneous equality, isomorphic to ∀A,B. HEqual[F[A], F[B]].

    Note that (heterogeneous) equality between A and B is not required to compare F[A] to F[B].

  30. final case class HHKMap[K[_[_[_]]], V[_[_[_]]]](map: Map[K[Nothing], V[Nothing]]) extends AnyVal with Product with Serializable
  31. final case class HKMap[K[_[_]], V[_[_]]](map: Map[K[Nothing], V[Nothing]]) extends AnyVal with Product with Serializable
  32. sealed trait HList extends AnyRef
  33. sealed trait HListPtr[L <: HList, N <: Nat] extends AnyRef
  34. trait HOrderK[F[_]] extends HEqualK[F] with OrderK[F]
  35. case class Id[A](value: A) extends Product with Serializable
  36. type Index[K, V] = TransformedIndex[K, V, V]
  37. type IndexedContT[R, O, M[_], A] = IndexedContsT[Id, R, O, M, A]
  38. trait Inject[F[_], G[_]] extends ~>[F, G]

    Similar to scalaz.Inject, except:

    Similar to scalaz.Inject, except:

    • not sealed, thus not restricted to injections into scalaz.Coproduct;
    • doesn't require to implement projection, so more instances are possible.
  39. trait InjectInstances0 extends InjectInstances1
  40. trait InjectInstances1 extends InjectInstances2
  41. trait InjectInstances2 extends InjectInstances3
  42. trait InjectInstances3 extends InjectInstances4
  43. trait InjectInstances4 extends InjectInstances5
  44. trait InjectInstances5 extends AnyRef
  45. final case class IsEqual[Ptr1[_], Ptr2[_]] extends Product with Serializable
  46. final case class K2Map[K[_, _], V[_, _]](map: Map[K[Nothing, Nothing], V[Nothing, Nothing]]) extends AnyVal with Product with Serializable
  47. final case class K3Map[K[_, _, _], V[_, _, _]](map: Map[K[Nothing, Nothing, Nothing], V[Nothing, Nothing, Nothing]]) extends AnyVal with Product with Serializable
  48. sealed abstract class K3Pair[K[_, _, _], V[_, _, _]] extends AnyRef
  49. final case class KMap[K[_], V[_]](map: Map[K[Any], V[Any]]) extends AnyVal with Product with Serializable
  50. final case class KMap1_2[K[_], V[_, _, _], TC[_, _, _]](map: Map[K[Nothing], V[Nothing, Nothing, Nothing]]) extends AnyVal with Product with Serializable

    KMap where values are parameterized by 2 additional type parameters, uniquely determined by a typeclass instance.

    KMap where values are parameterized by 2 additional type parameters, uniquely determined by a typeclass instance. Type safety relies on TC[A, B, C] being functional in A, i.e. for each A there are globally unique B, C such that there is an instance of TC[A, B, C].

  51. final case class KMapB[K[_ <: UB], V[_ <: UB], UB](map: Map[K[Nothing], V[Nothing]]) extends AnyVal with Product with Serializable

    KMap with an upper bound on the type parameter accepted by K[_], V[_].

  52. sealed abstract class Lst[+A] extends AnyRef

    Linked list with O(1) cons, snoc and concatenation and amortized O(1) uncons.

  53. trait Mapped[L <: HList, F[_]] extends Serializable
  54. trait MappedListBuilder[L <: HList] extends AnyRef
  55. final class Mediated[M[_], A, B, C] extends AnyVal

    Computation of C with a missing link between A and B.

    Computation of C with a missing link between A and B. Encapsulates effectful computations () ~~~> A and B ~~~> C. By plugging in A ~~~> B one can obtain () ~~~> C. The purpose of this class is to prevent using just one of the two encapsulated computations: either both, or none. This is useful when the effects of the two computations are somehow paired and this pairing can't be broken. This is only safe when M is a lazy monad with benign effects.

  56. trait MonadObjectOutput[F[_], R, Ptr[_]] extends MonadTell[F, R] with BindRec[F]
  57. trait MonadTellState[F[_], W, S] extends MonadTell[F, W] with MonadState[F, S]
  58. trait MonoidAggregator[B, A] extends Aggregator[B, A] with Monoid[B]
  59. trait MonoidK[F[_]] extends AnyRef
  60. sealed trait Nat extends AnyRef
  61. trait ObjectOutput[O, R, Ptr[_]] extends AnyRef

    O

    represents output. Examples: String, java.io.OutputStream, ...

    R

    represents type of data to be written to the output. Examples: String, bit string, ...

    Ptr

    abstraction of pointers.

  62. trait ObjectSerializer[A, S, Ptr[_]] extends AnyRef

    Serialization of (potentially cyclic) object graphs.

    Serialization of (potentially cyclic) object graphs. Features:

    • abstracted over pointers;
    • termination and correctness in presence of cycles;
    • stack safety.
    A

    type of objects that this serializer can serialize.

    S

    type of data this serializer writes when serializing A, e.g. String, byte array, etc.

    Ptr

    abstraction of pointers.

  63. trait OrderK[F[_]] extends EqualK[F]
  64. trait Pointers[L <: HList] extends AnyRef
  65. trait Pointers0[L <: HList, T <: HList, N <: Nat] extends AnyRef
  66. trait ShowK[F[_]] extends ~>[F, [α]String]
  67. abstract class StateInterpreter[K[_], F[_], S] extends AnyRef
  68. trait StratifiedAggregator[B, A] extends (B, A, Int) => B
  69. trait StratifiedMonoidAggregator[B, A] extends StratifiedAggregator[B, A] with Monoid[B]
  70. trait SummonHList[L <: HList] extends AnyRef

    Used to implicitly summon an HList by implicitly summoning its elements.

  71. trait Transformed[L <: HList, F[_], G[_]] extends Serializable
  72. case class TransformedIndex[K, VIn, VOut] extends Product with Serializable
  73. case class TwoLevel[F[_], A](_1: F[A], _2: F[A]) extends Product with Serializable
  74. trait TwoLevelInstances extends TwoLevelInstances1
  75. trait TwoLevelInstances1 extends AnyRef
  76. type Uninhabited = Nothing { type T = Unit }
  77. trait ValuedPointers[V <: HList, PA <: HList] extends AnyRef
  78. type WriterState[W, S, A] = WriterStateT[W, S, Id, A]
  79. final case class WriterStateT[W, S, F[_], A](run: (S) => F[(W, S, A)]) extends AnyVal with Product with Serializable
  80. trait WriterStateTInstances extends WriterStateTInstances1
  81. trait WriterStateTInstances1 extends WriterStateTInstances2
  82. trait WriterStateTInstances2 extends AnyRef
  83. type ≈>[F[_[_]], G[_[_]]] = FunctionK{(* -> *) -> *}[F, G]
  84. type ≈~>[F[_[_], _], G[_[_], _]] = FunctionK{(* -> *) -> * -> *}[F, G]

Value Members

  1. object APairK
  2. object Aggregator
  3. object AggregatorK
  4. object Choose
  5. object ChooseByNats
  6. object ChooseByPtrs
  7. object ContT
  8. object ContU
  9. object CoproductK
  10. object DeepEqual
  11. object DeepShow
  12. object Desc
  13. object EqualK
  14. object Exists
  15. object Exists{(* -> *) -> *}
  16. object FreeK
  17. object FreeKT extends Serializable
  18. object FreeObjectOutput
  19. object FunctionK{(* -> *) -> * -> *}
  20. object HEqual
  21. object HEqualK
  22. object HHKMap extends Serializable
  23. object HKMap extends Serializable
  24. object HList
  25. object HListPtr
  26. object Id extends Serializable
  27. object Index
  28. object IndexedContT
  29. object Inject extends InjectInstances0
  30. object IsEqual extends Serializable
  31. object K2Map extends Serializable
  32. object K3Map extends Serializable
  33. object K3Pair
  34. object KMap extends Serializable
  35. object KMap1_2 extends Serializable
  36. object KMapB extends Serializable
  37. object Lst
  38. object Mapped extends Serializable
  39. object MappedListBuilder
  40. object Mediated
  41. object Nat
  42. object ObjectOutput
  43. object ObjectSerializer
  44. object Pointers
  45. object Pointers0
  46. object ShowK
  47. object SummonHList
  48. object Transformed extends Serializable
  49. object TransformedIndex extends Serializable
  50. object TwoLevel extends TwoLevelInstances with Serializable
  51. object ValuedPointers
  52. object WriterState
  53. object WriterStateT extends WriterStateTInstances with Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped