arrow-generic / arrow.generic

Package arrow.generic

Types

Generic interface Generic<T, Repr>
HCons data class HCons<out H, out T : HList> : HList
HList A heterogeneous list of values that preserves type informationsealed class HList
HList1 HList supported arity is up to product of 22 elementstypealias HList1<A> = HCons<A, HNil>
HList10 typealias HList10<A, B, C, D, E, F, G, H, I, J> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HNil>>>>>>>>>>
HList11 typealias HList11<A, B, C, D, E, F, G, H, I, J, K> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HCons<K, HNil>>>>>>>>>>>
HList12 typealias HList12<A, B, C, D, E, F, G, H, I, J, K, L> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HCons<K, HCons<L, HNil>>>>>>>>>>>>
HList13 typealias HList13<A, B, C, D, E, F, G, H, I, J, K, L, M> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HCons<K, HCons<L, HCons<M, HNil>>>>>>>>>>>>>
HList14 typealias HList14<A, B, C, D, E, F, G, H, I, J, K, L, M, N> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HCons<K, HCons<L, HCons<M, HCons<N, HNil>>>>>>>>>>>>>>
HList15 typealias HList15<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HCons<K, HCons<L, HCons<M, HCons<N, HCons<O, HNil>>>>>>>>>>>>>>>
HList16 typealias HList16<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HCons<K, HCons<L, HCons<M, HCons<N, HCons<O, HCons<P, HNil>>>>>>>>>>>>>>>>
HList17 typealias HList17<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HCons<K, HCons<L, HCons<M, HCons<N, HCons<O, HCons<P, HCons<Q, HNil>>>>>>>>>>>>>>>>>
HList18 typealias HList18<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HCons<K, HCons<L, HCons<M, HCons<N, HCons<O, HCons<P, HCons<Q, HCons<R, HNil>>>>>>>>>>>>>>>>>>
HList19 typealias HList19<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HCons<K, HCons<L, HCons<M, HCons<N, HCons<O, HCons<P, HCons<Q, HCons<R, HCons<S, HNil>>>>>>>>>>>>>>>>>>>
HList2 typealias HList2<A, B> = HCons<A, HCons<B, HNil>>
HList20 typealias HList20<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HCons<K, HCons<L, HCons<M, HCons<N, HCons<O, HCons<P, HCons<Q, HCons<R, HCons<S, HCons<T, HNil>>>>>>>>>>>>>>>>>>>>
HList21 typealias HList21<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HCons<K, HCons<L, HCons<M, HCons<N, HCons<O, HCons<P, HCons<Q, HCons<R, HCons<S, HCons<T, HCons<U, HNil>>>>>>>>>>>>>>>>>>>>>
HList22 typealias HList22<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HCons<J, HCons<K, HCons<L, HCons<M, HCons<N, HCons<O, HCons<P, HCons<Q, HCons<R, HCons<S, HCons<T, HCons<U, HCons<V, HNil>>>>>>>>>>>>>>>>>>>>>>
HList3 typealias HList3<A, B, C> = HCons<A, HCons<B, HCons<C, HNil>>>
HList4 typealias HList4<A, B, C, D> = HCons<A, HCons<B, HCons<C, HCons<D, HNil>>>>
HList5 typealias HList5<A, B, C, D, E> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HNil>>>>>
HList6 typealias HList6<A, B, C, D, E, F> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HNil>>>>>>
HList7 typealias HList7<A, B, C, D, E, F, G> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HNil>>>>>>>
HList8 typealias HList8<A, B, C, D, E, F, G, H> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HNil>>>>>>>>
HList9 typealias HList9<A, B, C, D, E, F, G, H, I> = HCons<A, HCons<B, HCons<C, HCons<D, HCons<E, HCons<F, HCons<G, HCons<H, HCons<I, HNil>>>>>>>>>
HNil object HNil : HList
LabeledProductTypeClass 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.interface LabeledProductTypeClass<C>
ProductTypeClass interface ProductTypeClass<C>
ProductTypeClassCompanion interface ProductTypeClassCompanion<C>

Functions

hListOf HList factories create proper heterogeneous lists that preserve type information up to arity 22fun <A> hListOf(a: A): HList1<A>fun <A, B> hListOf(a: A, b: B): HList2<A, B>
fun <A, B, C> hListOf(a: A, b: B, c: C): HList3<A, B, C>
fun <A, B, C, D> hListOf(a: A, b: B, c: C, d: D): HList4<A, B, C, D>
fun <A, B, C, D, E> hListOf(a: A, b: B, c: C, d: D, e: E): HList5<A, B, C, D, E>
fun <A, B, C, D, E, F> hListOf(a: A, b: B, c: C, d: D, e: E, f: F): HList6<A, B, C, D, E, F>
fun <A, B, C, D, E, F, G> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G): HList7<A, B, C, D, E, F, G>
fun <A, B, C, D, E, F, G, H> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): HList8<A, B, C, D, E, F, G, H>
fun <A, B, C, D, E, F, G, H, I> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I): HList9<A, B, C, D, E, F, G, H, I>
fun <A, B, C, D, E, F, G, H, I, J> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J): HList10<A, B, C, D, E, F, G, H, I, J>
fun <A, B, C, D, E, F, G, H, I, J, K> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K): HList11<A, B, C, D, E, F, G, H, I, J, K>
fun <A, B, C, D, E, F, G, H, I, J, K, L> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L): HList12<A, B, C, D, E, F, G, H, I, J, K, L>
fun <A, B, C, D, E, F, G, H, I, J, K, L, M> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M): HList13<A, B, C, D, E, F, G, H, I, J, K, L, M>
fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N): HList14<A, B, C, D, E, F, G, H, I, J, K, L, M, N>
fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O): HList15<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O>
fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P): HList16<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P>
fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q): HList17<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q>
fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R): HList18<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R>
fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S): HList19<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S>
fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T): HList20<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T>
fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U): HList21<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U>
fun <A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V> hListOf(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J, k: K, l: L, m: M, n: N, o: O, p: P, q: Q, r: R, s: S, t: T, u: U, v: V): HList22<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V>