Functions

The following functions are available globally.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A>(value: FixOf<A>) -> Fix<A>

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to Fix.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F>(value: MuOf<F>) -> Mu<F>

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to Mu.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F>(value: NuOf<F>) -> Nu<F>

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to Nu.

  • Undocumented

    Declaration

    Swift

    public func hListOf<A>(_ a: A) -> HList1<A>
  • Undocumented

    Declaration

    Swift

    public func hListOf<A, B>(_ a: A, _ b: B) -> HList2<A, B>
  • Undocumented

    Declaration

    Swift

    public func hListOf<A, B, C>(_ a: A, _ b: B, _ c: C) -> HList3<A, B, C>
  • Undocumented

    Declaration

    Swift

    public func hListOf<A, B, C, D>(_ a: A, _ b: B, _ c: C, _ d: D) -> HList4<A, B, C, D>
  • Undocumented

    Declaration

    Swift

    public func hListOf<A, B, C, D, E>(_ a: A, _ b: B, _ c: C, _ d: D, _ e: E) -> HList5<A, B, C, D, E>
  • Undocumented

    Declaration

    Swift

    public func hListOf<A, B, C, D, E, F>(_ a: A, _ b: B, _ c: C, _ d: D, _ e: E, _ f: F) -> HList6<A, B, C, D, E, F>
  • Undocumented

    Declaration

    Swift

    public func hListOf<A, B, C, D, E, F, G>(_ a: A, _ b: B, _ c: C, _ d: D, _ e: E, _ f: F, _ g: G) -> HList7<A, B, C, D, E, F, G>
  • Undocumented

    Declaration

    Swift

    public func hListOf<A, B, C, D, E, F, G, H>(_ 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>
  • Undocumented

    Declaration

    Swift

    public func hListOf<A, B, C, D, E, F, G, H, I>(_ 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>
  • Undocumented

    Declaration

    Swift

    public func hListOf<A, B, C, D, E, F, G, H, I, J>(_ 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>
  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <S, A>(fa: CofreeOf<S, A>) -> Cofree<S, A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to Cofree.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F, P, A>(fa: CoyonedaOf<F, P, A>) -> Coyoneda<F, P, A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to Coyoneda.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <S, A>(fa: FreeOf<S, A>) -> Free<S, A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to Free.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F, A>(fa: YonedaOf<F, A>) -> Yoneda<F, A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to Yoneda.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <E, A>(fa: IOOf<E, A>) -> IO<E, A> where E : Error

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to IO.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A>(value: MaybeKOf<A>) -> MaybeK<A>

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to MaybeK.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A>(value: ObservableKOf<A>) -> ObservableK<A>

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to ObservableK.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A>(value: SingleKOf<A>) -> SingleK<A>

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to SingleK.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <E, A>(value: FutureKOf<E, A>) -> FutureK<E, A> where E : Error

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to FutureK.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F, A, B>(value: Kind<CokleisliPartial<F, A>, B>) -> Cokleisli<F, A, B>

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to Cokleisli.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A>(fa: Function0Of<A>) -> Function0<A>

    Parameters

    fa

    Value in the higher-kind form.

    Return Value

    Value cast to Function0.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <I, O>(fa: Function1Of<I, O>) -> Function1<I, O>

    Parameters

    fa

    Value in the higher-kind form.

    Return Value

    Value cast to Function1.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F, D, A>(fa: KleisliOf<F, D, A>) -> Kleisli<F, D, A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to Kleisli.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A>(fa: ArrayKOf<A>) -> ArrayK<A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to ArrayK.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A, T>(fa: ConstOf<A, T>) -> Const<A, T>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to Const.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F, G, A>(value: DayOf<F, G, A>) -> Day<F, G, A> where F : Comonad, G : Comonad

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to Day.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <K, A>(fa: DictionaryKOf<K, A>) -> DictionaryK<K, A> where K : Hashable

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to DictionaryK.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A, B>(fa: EitherOf<A, B>) -> Either<A, B>

    Parameters

    fa

    Value in the higher-kind form.

    Return Value

    Value cast to Either.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F, G, A>(fa: EitherKOf<F, G, A>) -> EitherK<F, G, A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to EitherK.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A>(fa: EvalOf<A>) -> Eval<A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to Eval.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A>(fa: IdOf<A>) -> Id<A>

    Parameters

    fa

    Value in the higher-kind form.

    Return Value

    Value cast to Id.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A, B>(fa: IorOf<A, B>) -> Ior<A, B>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to Ior.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <E, V>(value: MooreOf<E, V>) -> Moore<E, V>

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to Moore.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A>(fa: NonEmptyArrayOf<A>) -> NonEmptyArray<A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to NonEmptyArray.

  • Safe downcasting.

    Declaration

    Swift

    public postfix func ^ <A>(fa: OptionOf<A>) -> Option<A>

    Parameters

    fa

    Option in higher-kind form.

    Return Value

    Value cast to Option.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A>(fa: SetKOf<A>) -> SetK<A> where A : Hashable

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to SetK.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <S, A>(value: StateOf<S, A>) -> State<S, A>

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to State.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <S, V>(value: StoreOf<S, V>) -> Store<S, V>

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to Store.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F, G, V>(value: SumOf<F, G, V>) -> Sum<F, G, V>

    Parameters

    value

    Value in higher-kind form.

    Return Value

    Value cast to Sum.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <A>(fa: TryOf<A>) -> Try<A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to Try.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <E, A>(fa: ValidatedOf<E, A>) -> Validated<E, A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to Validated.

  • Negates a boolean value.

    Declaration

    Swift

    public func not(_ a: Bool) -> Bool

    Parameters

    a

    Value to be negated.

    Return Value

    true if the input was false; false, otherwise.

  • Conjunction of two boolean values.

    Declaration

    Swift

    public func and(_ a: Bool, _ b: Bool) -> Bool

    Parameters

    a

    Left-hand side value.

    b

    Right-hand side value.

    Return Value

    true if both inputs are true, or false otherwise.

  • Disjunction of two boolean values.

    Declaration

    Swift

    public func or(_ a: Bool, _ b: Bool) -> Bool

    Parameters

    a

    Left-hand side value.

    b

    Right-hand side value.

    Return Value

    false if both inputs are false, or true otherwise.

  • Exclusive or of two boolean values.

    Declaration

    Swift

    public func xor(_ a: Bool, _ b: Bool) -> Bool

    Parameters

    a

    Left-hand side value.

    b

    Right-hand side value.

    Return Value

    true if both inputs have different truth value, or false if they are equal.

  • Given a 0-ary function, provides a 0-ary function that returns the complement boolean value.

    Declaration

    Swift

    public func complement(_ ff : @escaping () -> Bool) -> () -> Bool

    Parameters

    ff

    Function to be complemented.

    Return Value

    Function that returns the negated result of ff.

  • Given a 1-ary function, provides a 1-ary function that returns the complement boolean value.

    Declaration

    Swift

    public func complement<A>(_ ff : @escaping (_ a: A) -> Bool) -> (A) -> Bool

    Parameters

    ff

    Function to be complemented.

    a

    1st argument of ff.

    Return Value

    Function that returns the negated result of ff.

  • Given a 2-ary function, provides a 2-ary function that returns the complement boolean value.

    Declaration

    Swift

    public func complement<A, B>(_ ff : @escaping (_ a: A, _ b: B) -> Bool) -> (A, B) -> Bool

    Parameters

    ff

    Function to be complemented.

    a

    1st argument of ff.

    b

    2nd argument of ff.

    Return Value

    Function that returns the negated result of ff.

  • Given a 3-ary function, provides a 3-ary function that returns the complement boolean value.

    Declaration

    Swift

    public func complement<A, B, C>(_ ff : @escaping (_ a: A, _ b: B, _ c: C) -> Bool) -> (A, B, C) -> Bool

    Parameters

    ff

    Function to be complemented.

    a

    1st argument of ff.

    b

    2nd argument of ff.

    c

    3rd argument of ff.

    Return Value

    Function that returns the negated result of ff.

  • Given a 4-ary function, provides a 4-ary function that returns the complement boolean value.

    Declaration

    Swift

    public func complement<A, B, C, D>(_ ff : @escaping (_ a: A, _ b: B, _ c: C, _ d: D) -> Bool) -> (A, B, C, D) -> Bool

    Parameters

    ff

    Function to be complemented.

    a

    1st argument of ff.

    b

    2nd argument of ff.

    c

    3rd argument of ff.

    d

    4th argument of ff.

    Return Value

    Function that returns the negated result of ff.

  • Given a 5-ary function, provides a 5-ary function that returns the complement boolean value.

    Declaration

    Swift

    public func complement<A, B, C, D, E>(_ ff : @escaping (_ a: A, _ b: B, _ c: C, _ d: D, _ e: E) -> Bool) -> (A, B, C, D, E) -> Bool

    Parameters

    ff

    Function to be complemented.

    a

    1st argument of ff.

    b

    2nd argument of ff.

    c

    3rd argument of ff.

    d

    4th argument of ff.

    e

    5th argument of ff.

    Return Value

    Function that returns the negated result of ff.

  • Given a 6-ary function, provides a 6-ary function that returns the complement boolean value.

    Declaration

    Swift

    public func complement<A, B, C, D, E, F>(_ ff : @escaping (_ a: A, _ b: B, _ c: C, _ d: D, _ e: E, _ f: F) -> Bool) -> (A, B, C, D, E, F) -> Bool

    Parameters

    ff

    Function to be complemented.

    a

    1st argument of ff.

    b

    2nd argument of ff.

    c

    3rd argument of ff.

    d

    4th argument of ff.

    e

    5th argument of ff.

    f

    6th argument of ff.

    Return Value

    Function that returns the negated result of ff.

  • Given a 7-ary function, provides a 7-ary function that returns the complement boolean value.

    Declaration

    Swift

    public func complement<A, B, C, D, E, F, G>(_ ff : @escaping (_ a: A, _ b: B, _ c: C, _ d: D, _ e: E, _ f: F, _ g: G) -> Bool) -> (A, B, C, D, E, F, G) -> Bool

    Parameters

    ff

    Function to be complemented.

    a

    1st argument of ff.

    b

    2nd argument of ff.

    c

    3rd argument of ff.

    d

    4th argument of ff.

    e

    5th argument of ff.

    f

    6th argument of ff.

    g

    7th argument of ff.

    Return Value

    Function that returns the negated result of ff.

  • Given a 8-ary function, provides a 8-ary function that returns the complement boolean value.

    Declaration

    Swift

    public func complement<A, B, C, D, E, F, G, H>(_ ff : @escaping (_ a: A, _ b: B, _ c: C, _ d: D, _ e: E, _ f: F, _ g: G, _ h: H) -> Bool) -> (A, B, C, D, E, F, G, H) -> Bool

    Parameters

    ff

    Function to be complemented.

    a

    1st argument of ff.

    b

    2nd argument of ff.

    c

    3rd argument of ff.

    d

    4th argument of ff.

    e

    5th argument of ff.

    f

    6th argument of ff.

    g

    7th argument of ff.

    h

    8th argument of ff.

    Return Value

    Function that returns the negated result of ff.

  • Given a 9-ary function, provides a 9-ary function that returns the complement boolean value.

    Declaration

    Swift

    public func complement<A, B, C, D, E, F, G, H, I>(_ ff : @escaping (_ a: A, _ b: B, _ c: C, _ d: D, _ e: E, _ f: F, _ g: G, _ h: H, _ i: I) -> Bool) -> (A, B, C, D, E, F, G, H, I) -> Bool

    Parameters

    ff

    Function to be complemented.

    a

    1st argument of ff.

    b

    2nd argument of ff.

    c

    3rd argument of ff.

    d

    4th argument of ff.

    e

    5th argument of ff.

    f

    6th argument of ff.

    g

    7th argument of ff.

    h

    8th argument of ff.

    i

    9th argument of ff.

    Return Value

    Function that returns the negated result of ff.

  • Given a 10-ary function, provides a 10-ary function that returns the complement boolean value.

    Declaration

    Swift

    public func complement<A, B, C, D, E, F, G, H, I, J>(_ ff : @escaping (_ a: A, _ b: B, _ c: C, _ d: D, _ e: E, _ f: F, _ g: G, _ h: H, _ i: I, _ j: J) -> Bool) -> (A, B, C, D, E, F, G, H, I, J) -> Bool

    Parameters

    ff

    Function to be complemented.

    a

    1st argument of ff.

    b

    2nd argument of ff.

    c

    3rd argument of ff.

    d

    4th argument of ff.

    e

    5th argument of ff.

    f

    6th argument of ff.

    g

    7th argument of ff.

    h

    8th argument of ff.

    i

    9th argument of ff.

    j

    10th argument of ff.

    Return Value

    Function that returns the negated result of ff.

  • Curries a 2-ary function.

    Declaration

    Swift

    public func curry<A, B, C>(_ fun : @escaping (A, B) -> C) -> (A) -> (B) -> C

    Parameters

    fun

    Function to be curried.

    Return Value

    fun in curried form.

  • Uncurries a 2-ary function.

    Declaration

    Swift

    public func uncurry<A, B, C>(_ fun : @escaping (A) -> (B) -> C) -> (A, B) -> C

    Parameters

    fun

    Function to be uncurried.

    Return Value

    fun in uncurried form.

  • Curries a 3-ary function.

    Declaration

    Swift

    public func curry<A, B, C, D>(_ fun : @escaping (A, B, C) -> D) -> (A) -> (B) -> (C) -> D

    Parameters

    fun

    Function to be curried.

    Return Value

    fun in curried form.

  • Uncurries a 3-ary function.

    Declaration

    Swift

    public func uncurry<A, B, C, D>(_ fun : @escaping (A) -> (B) -> (C) -> D) -> (A, B, C) -> D

    Parameters

    fun

    Function to be uncurried.

    Return Value

    fun in uncurried form.

  • Curries a 4-ary function.

    Declaration

    Swift

    public func curry<A, B, C, D, E>(_ fun : @escaping (A, B, C, D) -> E) -> (A) -> (B) -> (C) -> (D) -> E

    Parameters

    fun

    Function to be curried.

    Return Value

    fun in curried form.

  • Uncurries a 4-ary function.

    Declaration

    Swift

    public func uncurry<A, B, C, D, E>(_ fun : @escaping (A) -> (B) -> (C) -> (D) -> E) -> (A, B, C, D) -> E

    Parameters

    fun

    Function to be uncurried.

    Return Value

    fun in uncurried form.

  • Curries a 5-ary function.

    Declaration

    Swift

    public func curry<A, B, C, D, E, F>(_ fun : @escaping (A, B, C, D, E) -> F) -> (A) -> (B) -> (C) -> (D) -> (E) -> F

    Parameters

    fun

    Function to be curried.

    Return Value

    fun in curried form.

  • Uncurries a 5-ary function.

    Declaration

    Swift

    public func uncurry<A, B, C, D, E, F>(_ fun : @escaping (A) -> (B) -> (C) -> (D) -> (E) -> F) -> (A, B, C, D, E) -> F

    Parameters

    fun

    Function to be uncurried.

    Return Value

    fun in uncurried form.

  • Curries a 6-ary function.

    Declaration

    Swift

    public func curry<A, B, C, D, E, F, G>(_ fun : @escaping (A, B, C, D, E, F) -> G) -> (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> G

    Parameters

    fun

    Function to be curried.

    Return Value

    fun in curried form.

  • Uncurries a 6-ary function.

    Declaration

    Swift

    public func uncurry<A, B, C, D, E, F, G>(_ fun : @escaping (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> G) -> (A, B, C, D, E, F) -> G

    Parameters

    fun

    Function to be uncurried.

    Return Value

    fun in uncurried form.

  • Curries a 7-ary function.

    Declaration

    Swift

    public func curry<A, B, C, D, E, F, G, H>(_ fun : @escaping (A, B, C, D, E, F, G) -> H) -> (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> H

    Parameters

    fun

    Function to be curried.

    Return Value

    fun in curried form.

  • Uncurries a 7-ary function.

    Declaration

    Swift

    public func uncurry<A, B, C, D, E, F, G, H>(_ fun : @escaping (A) -> (B) -> (C) -> (D) -> (E) -> (F) -> (G) -> H) -> (A, B, C, D, E, F, G) -> H

    Parameters

    fun

    Function to be uncurried.

    Return Value

    fun in uncurried form.

  • Memoizes a 1-ary function.

    Memoization is a useful technique to cache already computed values, specially in functions with a high computational cost. It requires the input parameter to the function to be Hashable in order to be able to save the computed result. This function returns a memoized function that behaves the same as the original one. Given an input, first invokation of the memoized function will compute the result and store it. Subsequent invokations with the same input will not be computed; the stored result will be returned instead.

    Declaration

    Swift

    public func memoize<A, B>(_ f : @escaping (_ a: A) -> B) -> (A) -> B where A : Hashable

    Parameters

    f

    Function to be memoized. This function must be pure and deterministic in order to have consistent results.

    a

    Function input.

    Return Value

    A function that behaves like f but saves already computed results.

  • Memoizes a recursive 1-ary function.

    In order to memoize a recursive function, the recursive step must be memoized as well. In order to do so, callers of this function must pass a function that will receive the memoized function and the current input, and use both to provide the output. Input parameters must conform to Hashable. As an example, consider this implementation of a memoized factorial:

    let memoizedFactorial: (Int) -> Int = memoize { factorial, x in
        x == 0 ? 1 : x * factorial(x - 1)
    }
    

    Declaration

    Swift

    public func memoize<A, B>(_ f : @escaping (_ step: (_ a: A) -> B, _ input: A) -> B) -> (A) -> B where A : Hashable

    Parameters

    f

    Function to be memoized.

    step

    A closure describing a recursive step of the function.

    a

    Input to the recursive step.

    input

    Current value for the recursion.

    Return Value

    A function that behaves like f but saves already computed results.

  • Applies an argument to a 1-ary function.

    Declaration

    Swift

    public func |> <A, B>(a: A, fun: (A) -> B) -> B

    Parameters

    a

    Argument to apply.

    fun

    Function receiving the argument.

    Return Value

    Result of running the function with the argument as input.

  • Applies the first argument to a 2-ary function, returning a 1-ary function with the rest of the arguments of the original function.

    Declaration

    Swift

    public func |><A, B, C>(_ a : A, _ fun : @escaping (A, B) -> C) -> (B) -> C

    Parameters

    a

    Input to the first argument of the function

    fun

    Function to be applied.

    Return Value

    A function with the same behavior of the input function where the first argument is fixed to the value of the provided argument.

  • Applies the first argument to a 3-ary function, returning a 2-ary function with the rest of the arguments of the original function.

    Declaration

    Swift

    public func |><A, B, C, D>(_ a : A, _ fun : @escaping (A, B, C) -> D) -> (B, C) -> D

    Parameters

    a

    Input to the first argument of the function

    fun

    Function to be applied.

    Return Value

    A function with the same behavior of the input function where the first argument is fixed to the value of the provided argument.

  • Applies the first argument to a 4-ary function, returning a 3-ary function with the rest of the arguments of the original function.

    Declaration

    Swift

    public func |><A, B, C, D, E>(_ a : A, _ fun : @escaping (A, B, C, D) -> E) -> (B, C, D) -> E

    Parameters

    a

    Input to the first argument of the function

    fun

    Function to be applied.

    Return Value

    A function with the same behavior of the input function where the first argument is fixed to the value of the provided argument.

  • Applies the first argument to a 5-ary function, returning a 4-ary function with the rest of the arguments of the original function.

    Declaration

    Swift

    public func |><A, B, C, D, E, F>(_ a : A, _ fun : @escaping (A, B, C, D, E) -> F) -> (B, C, D, E) -> F

    Parameters

    a

    Input to the first argument of the function

    fun

    Function to be applied.

    Return Value

    A function with the same behavior of the input function where the first argument is fixed to the value of the provided argument.

  • Applies the first argument to a 6-ary function, returning a 5-ary function with the rest of the arguments of the original function.

    Declaration

    Swift

    public func |><A, B, C, D, E, F, G>(_ a : A, _ fun : @escaping (A, B, C, D, E, F) -> G) -> (B, C, D, E, F) -> G

    Parameters

    a

    Input to the first argument of the function

    fun

    Function to be applied.

    Return Value

    A function with the same behavior of the input function where the first argument is fixed to the value of the provided argument.

  • Applies the first argument to a 7-ary function, returning a 6-ary function with the rest of the arguments of the original function.

    Declaration

    Swift

    public func |><A, B, C, D, E, F, G, H>(_ a : A, _ fun : @escaping (A, B, C, D, E, F, G) -> H) -> (B, C, D, E, F, G) -> H

    Parameters

    a

    Input to the first argument of the function

    fun

    Function to be applied.

    Return Value

    A function with the same behavior of the input function where the first argument is fixed to the value of the provided argument.

  • Applies the first argument to a 8-ary function, returning a 7-ary function with the rest of the arguments of the original function.

    Declaration

    Swift

    public func |><A, B, C, D, E, F, G, H, I>(_ a : A, _ fun : @escaping (A, B, C, D, E, F, G, H) -> I) -> (B, C, D, E, F, G, H) -> I

    Parameters

    a

    Input to the first argument of the function

    fun

    Function to be applied.

    Return Value

    A function with the same behavior of the input function where the first argument is fixed to the value of the provided argument.

  • Identity function.

    Returns the input without changing it.

    Declaration

    Swift

    public func id<A>(_ a: A) -> A

    Parameters

    a

    A value.

    Return Value

    The value received as input, with no modifications.

  • Provides a constant function.

    Declaration

    Swift

    public func constant<A>(_ a: @autoclosure @escaping () -> A) -> () -> A

    Parameters

    a

    Constant value to return.

    Return Value

    A 0-ary function that constantly return the value provided as argument.

  • Provides a constant function.

    Declaration

    Swift

    public func constant<A, B>(_ a: @autoclosure @escaping () -> A) -> (B) -> A

    Parameters

    a

    Constant value to return.

    Return Value

    A 1-ary function that constantly return the value provided as argument, regardless of its input parameter.

  • Provides a constant function.

    Declaration

    Swift

    public func constant<A, B, C>(_ a: @autoclosure @escaping () -> A) -> (B, C) -> A

    Parameters

    a

    Constant value to return.

    Return Value

    A 2-ary function that constantly return the value provided as argument, regardless of its input parameters.

  • Provides a constant function.

    Declaration

    Swift

    public func constant<A, B, C, D>(_ a: @autoclosure @escaping () -> A) -> (B, C, D) -> A

    Parameters

    a

    Constant value to return.

    Return Value

    A 3-ary function that constantly return the value provided as argument, regardless of its input parameters.

  • Provides a constant function.

    Declaration

    Swift

    public func constant<A, B, C, D, E>(_ a: @autoclosure @escaping () -> A) -> (B, C, D, E) -> A

    Parameters

    a

    Constant value to return.

    Return Value

    A 4-ary function that constantly return the value provided as argument, regardless of its input parameters.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func compose<A, B>(_ g : @escaping (A) -> B, _ f : @escaping () -> A) -> () -> B
  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func compose<A, B>(_ g : @escaping (A) throws -> B, _ f : @escaping () -> A) -> () throws -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func compose<A, B>(_ g : @escaping (A) -> B, _ f : @escaping () throws -> A) -> () throws -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func compose<A, B>(_ g : @escaping (A) throws -> B, _ f : @escaping () throws -> A) -> () throws -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func compose<A, B, C>(_ g : @escaping (B) -> C, _ f : @escaping (A) -> B) -> (A) -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func compose<A, B, C>(_ g : @escaping (B) throws -> C, _ f : @escaping (A) -> B) -> (A) throws -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func compose<A, B, C>(_ g : @escaping (B) -> C, _ f : @escaping (A) throws -> B) -> (A) throws -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func compose<A, B, C>(_ g : @escaping (B) throws -> C, _ f : @escaping (A) throws -> B) -> (A) throws -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func andThen<A, B>(_ f : @escaping () -> A, _ g : @escaping (A) -> B) -> () -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func andThen<A, B>(_ f : @escaping () throws -> A, _ g : @escaping (A) -> B) -> () throws -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func andThen<A, B>(_ f : @escaping () -> A, _ g : @escaping (A) throws -> B) -> () throws -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func andThen<A, B>(_ f : @escaping () throws -> A, _ g : @escaping (A) throws -> B) -> () throws -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func andThen<A, B, C>(_ f : @escaping (A) -> B, _ g : @escaping (B) -> C) -> (A) -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func andThen<A, B, C>(_ f : @escaping (A) throws -> B, _ g : @escaping (B) -> C) -> (A) throws -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func andThen<A, B, C>(_ f : @escaping (A) -> B, _ g : @escaping (B) throws -> C) -> (A) throws -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func andThen<A, B, C>(_ f : @escaping (A) throws -> B, _ g : @escaping (B) throws -> C) -> (A) throws -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func >>><A, B>(_ f : @escaping () -> A, _ g : @escaping (A) -> B) -> () -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func >>><A, B>(_ f : @escaping () throws -> A, _ g : @escaping (A) -> B) -> () throws -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func >>><A, B>(_ f : @escaping () -> A, _ g : @escaping (A) throws -> B) -> () throws -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func >>><A, B>(_ f : @escaping () throws -> A, _ g : @escaping (A) throws -> B) -> () throws -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func >>><A, B, C>(_ f : @escaping (A) -> B, _ g : @escaping (B) -> C) -> (A) -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func >>><A, B, C>(_ f : @escaping (A) throws -> B, _ g : @escaping (B) -> C) -> (A) throws -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func >>><A, B, C>(_ f : @escaping (A) -> B, _ g : @escaping (B) throws -> C) -> (A) throws -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func >>><A, B, C>(_ f : @escaping (A) throws -> B, _ g : @escaping (B) throws -> C) -> (A) throws -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func <<<<A, B>(_ g : @escaping (A) -> B, _ f : @escaping () -> A) -> () -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func <<<<A, B>(_ g : @escaping (A) throws -> B, _ f : @escaping () -> A) -> () throws -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func <<<<A, B>(_ g : @escaping (A) -> B, _ f : @escaping () throws -> A) -> () throws -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 0-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func <<<<A, B>(_ g : @escaping (A) throws -> B, _ f : @escaping () throws -> A) -> () throws -> B

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func <<<<A, B, C>(_ g : @escaping (B) -> C, _ f : @escaping (A) -> B) -> (A) -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func <<<<A, B, C>(_ g : @escaping (B) throws -> C, _ f : @escaping (A) -> B) -> (A) throws -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func <<<<A, B, C>(_ g : @escaping (B) -> C, _ f : @escaping (A) throws -> B) -> (A) throws -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Composes a 1-ary function with a 1-ary function.

    Returns a function that is the result of applying g to the output of f.

    Declaration

    Swift

    public func <<<<A, B, C>(_ g : @escaping (B) throws -> C, _ f : @escaping (A) throws -> B) -> (A) throws -> C

    Parameters

    g

    Left-hand side of the function composition.

    f

    Right-hand side of the function composition.

    Return Value

    A function that applies g to the output of f.

  • Reverses the inputs of a 2-ary function.

    Declaration

    Swift

    public func reverse<P1, P2, R>(_ f : @escaping (P1, P2) -> R) -> (P2, P1) -> R

    Parameters

    f

    Function whose inputs should be reversed.

    Return Value

    A function with the same behaviour as f but with reversed input parameters.

  • Reverses the inputs of a 3-ary function.

    Declaration

    Swift

    public func reverse<P1, P2, P3, R>(_ f : @escaping (P1, P2, P3) -> R) -> (P3, P2, P1) -> R

    Parameters

    f

    Function whose inputs should be reversed.

    Return Value

    A function with the same behaviour as f but with reversed input parameters.

  • Reverses the inputs of a 4-ary function.

    Declaration

    Swift

    public func reverse<P1, P2, P3, P4, R>(_ f : @escaping (P1, P2, P3, P4) -> R) -> (P4, P3, P2, P1) -> R

    Parameters

    f

    Function whose inputs should be reversed.

    Return Value

    A function with the same behaviour as f but with reversed input parameters.

  • Reverses the inputs of a 5-ary function.

    Declaration

    Swift

    public func reverse<P1, P2, P3, P4, P5, R>(_ f : @escaping (P1, P2, P3, P4, P5) -> R) -> (P5, P4, P3, P2, P1) -> R

    Parameters

    f

    Function whose inputs should be reversed.

    Return Value

    A function with the same behaviour as f but with reversed input parameters.

  • Reverses the inputs of a 6-ary function.

    Declaration

    Swift

    public func reverse<P1, P2, P3, P4, P5, P6, R>(_ f : @escaping (P1, P2, P3, P4, P5, P6) -> R) -> (P6, P5, P4, P3, P2, P1) -> R

    Parameters

    f

    Function whose inputs should be reversed.

    Return Value

    A function with the same behaviour as f but with reversed input parameters.

  • Reverses the inputs of a 7-ary function.

    Declaration

    Swift

    public func reverse<P1, P2, P3, P4, P5, P6, P7, R>(_ f : @escaping (P1, P2, P3, P4, P5, P6, P7) -> R) -> (P7, P6, P5, P4, P3, P2, P1) -> R

    Parameters

    f

    Function whose inputs should be reversed.

    Return Value

    A function with the same behaviour as f but with reversed input parameters.

  • Reverses the inputs of a 8-ary function.

    Declaration

    Swift

    public func reverse<P1, P2, P3, P4, P5, P6, P7, P8, R>(_ f : @escaping (P1, P2, P3, P4, P5, P6, P7, P8) -> R) -> (P8, P7, P6, P5, P4, P3, P2, P1) -> R

    Parameters

    f

    Function whose inputs should be reversed.

    Return Value

    A function with the same behaviour as f but with reversed input parameters.

  • Reverses the inputs of a 9-ary function.

    Declaration

    Swift

    public func reverse<P1, P2, P3, P4, P5, P6, P7, P8, P9, R>(_ f : @escaping (P1, P2, P3, P4, P5, P6, P7, P8, P9) -> R) -> (P9, P8, P7, P6, P5, P4, P3, P2, P1) -> R

    Parameters

    f

    Function whose inputs should be reversed.

    Return Value

    A function with the same behaviour as f but with reversed input parameters.

  • Reverses the inputs of a 10-ary function.

    Declaration

    Swift

    public func reverse<P1, P2, P3, P4, P5, P6, P7, P8, P9, P10, R>(_ f : @escaping (P1, P2, P3, P4, P5, P6, P7, P8, P9, P10) -> R) -> (P10, P9, P8, P7, P6, P5, P4, P3, P2, P1) -> R

    Parameters

    f

    Function whose inputs should be reversed.

    Return Value

    A function with the same behaviour as f but with reversed input parameters.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F, A, B>(fa: EitherTOf<F, A, B>) -> EitherT<F, A, B>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to EitherT.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F, A>(fa: OptionTOf<F, A>) -> OptionT<F, A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to OptionT.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F, S, A>(fa: StateTOf<F, S, A>) -> StateT<F, S, A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to StateT.

  • Safe downcast.

    Declaration

    Swift

    public postfix func ^ <F, W, A>(fa: WriterTOf<F, W, A>) -> WriterT<F, W, A>

    Parameters

    fa

    Value in higher-kind form.

    Return Value

    Value cast to WriterT.