All Types

(extensions in package arrow.fx.extensions.io.applicativeError)
arrow.typeclasses.ApplicativeError
arrow.fx.typeclasses.Async

Async models how a data type runs an asynchronous computation that may fail. Defined by the Proc signature, which is the consumption of a callback.

arrow.fx.typeclasses.AsyncContinuation
arrow.fx.typeclasses.AsyncFx
arrow.fx.typeclasses.AsyncSyntax
arrow.fx.internal.AtomicBooleanW
arrow.fx.internal.AtomicIntW
arrow.fx.internal.AtomicRefW

Internal wrapper for Atomic-FU Atomics to be used as local variables

arrow.fx.typeclasses.Bracket

Extension of MonadError exposing the bracket operation, a generalized abstracted pattern of safe resource acquisition and release in the face of errors or interruption.

arrow.fx.typeclasses.CancelToken
(extensions in package arrow.fx.extensions.duration.monoid)
kotlin.collections.Collection
(extensions in package arrow.fx.extensions.io.monoid)
kotlin.collections.Collection
(extensions in package arrow.fx.extensions.resource.monoid)
kotlin.collections.Collection
(extensions in package arrow.fx.extensions.schedule.monoid)
kotlin.collections.Collection
arrow.fx.typeclasses.Concurrent

Type class for async data types that are cancellable and can be started concurrently.

arrow.fx.typeclasses.ConcurrentContinuation
arrow.fx.typeclasses.ConcurrentEffect
arrow.fx.typeclasses.ConcurrentFx
arrow.fx.typeclasses.ConcurrentSyntax
arrow.fx.ConnectionCancellationException
(extensions in package arrow.fx.extensions.io.async)
kotlin.coroutines.CoroutineContext
(extensions in package arrow.fx.extensions.io.concurrent)
kotlin.coroutines.CoroutineContext
arrow.fx.DecisionOf
arrow.fx.DecisionPartialOf
arrow.fx.Dequeue

Dequeue allows peeking and taking values from a Queue, but doesn’t allow offering values to the Queue. You can use Dequeue to restrict certain functions or layers of your applications to only consume values.

arrow.fx.typeclasses.Dispatchers
arrow.fx.typeclasses.Disposable
arrow.fx.typeclasses.Duration
arrow.fx.extensions.DurationEq
arrow.fx.extensions.DurationHash
arrow.fx.extensions.DurationMonoid
arrow.fx.extensions.DurationOrder
arrow.fx.extensions.DurationSemigroup
arrow.fx.typeclasses.Effect
(extensions in package arrow.fx.extensions)
arrow.core.Either
(extensions in package arrow.fx.extensions.io.applicativeError)
arrow.core.Either
(extensions in package arrow.fx.typeclasses)
arrow.core.Either
arrow.fx.Enqueue

Enqueue allows offering values to a Queue, but doesn’t allow taking values from the Queue. You can use Enqueue to restrict certain functions or layers of your applications to only produce values.

arrow.fx.typeclasses.Environment
(extensions in package arrow.fx)
java.util.concurrent.ExecutorService
arrow.fx.typeclasses.ExitCase
arrow.fx.extensions.ExitCaseEq
arrow.fx.typeclasses.Fiber

Fiber represents the pure result of an Async data type being started concurrently and that can be either joined or cancelled.

arrow.fx.typeclasses.FiberOf
arrow.fx.typeclasses.FiberPartialOf
arrow.fx.ForDecision
arrow.fx.typeclasses.ForFiber
arrow.fx.ForIO
arrow.fx.ForQueue
arrow.fx.ForResource
arrow.fx.ForSchedule
(extensions in package arrow.fx.typeclasses)
kotlin.Int
arrow.fx.IO
arrow.fx.extensions.IOApplicative
arrow.fx.extensions.IOApplicativeError
arrow.fx.extensions.IOApply
arrow.fx.extensions.IOAsync
arrow.fx.extensions.IOBracket
arrow.fx.extensions.IOConcurrent
arrow.fx.extensions.IOConcurrentEffect
arrow.fx.extensions.IODefaultConcurrent
arrow.fx.extensions.IODefaultConcurrentEffect
arrow.fx.IODispatchers
arrow.fx.extensions.IODispatchers
arrow.fx.extensions.IOEffect
arrow.fx.extensions.IOEnvironment
arrow.fx.extensions.IOFunctor
arrow.fx.extensions.IOMonad
arrow.fx.extensions.IOMonadDefer
arrow.fx.extensions.IOMonadError
arrow.fx.extensions.IOMonadIO
arrow.fx.extensions.IOMonadThrow
arrow.fx.extensions.IOMonoid
arrow.fx.IOOf
arrow.fx.IOParMap

Mix-in to enable parMapN N-arity on IO’s companion directly.

arrow.fx.IOProc
arrow.fx.IOProcF
arrow.fx.IORace
arrow.fx.extensions.IOSemigroup
arrow.fx.extensions.IOSemigroupK
arrow.fx.extensions.IOUnsafeCancellableRun
arrow.fx.extensions.IOUnsafeRun
arrow.fx.internal.IQueue

Port of scala.collection.immutable.Queue Queue objects implement data structures that allow to insert and retrieve elements in a first-in-first-out (FIFO) manner.

(extensions in package arrow.fx.extensions.io.concurrent)
kotlin.collections.Iterable
arrow.fx.internal.JavaCancellationException
(extensions in package arrow.fx)
arrow.Kind
(extensions in package arrow.fx.extensions.invariant)
arrow.Kind
(extensions in package arrow.fx.extensions.io.applicative)
arrow.Kind
(extensions in package arrow.fx.extensions.io.applicativeError)
arrow.Kind
(extensions in package arrow.fx.extensions.io.apply)
arrow.Kind
(extensions in package arrow.fx.extensions.io.async)
arrow.Kind
(extensions in package arrow.fx.extensions.io.bracket)
arrow.Kind
(extensions in package arrow.fx.extensions.io.concurrent)
arrow.Kind
(extensions in package arrow.fx.extensions.io.concurrentEffect)
arrow.Kind
(extensions in package arrow.fx.extensions.io.effect)
arrow.Kind
(extensions in package arrow.fx.extensions.io.functor)
arrow.Kind
(extensions in package arrow.fx.extensions.io.monad)
arrow.Kind
(extensions in package arrow.fx.extensions.io.monadError)
arrow.Kind
(extensions in package arrow.fx.extensions.io.semigroupK)
arrow.Kind
(extensions in package arrow.fx.extensions.resource.applicative)
arrow.Kind
(extensions in package arrow.fx.extensions.resource.functor)
arrow.Kind
(extensions in package arrow.fx.extensions.resource.monad)
arrow.Kind
(extensions in package arrow.fx.extensions.resource.selective)
arrow.Kind
(extensions in package arrow.fx.extensions.schedule.applicative)
arrow.Kind
(extensions in package arrow.fx.extensions.schedule.apply)
arrow.Kind
(extensions in package arrow.fx.extensions.schedule.category)
arrow.Kind
(extensions in package arrow.fx.extensions.schedule.contravariant)
arrow.Kind
(extensions in package arrow.fx.extensions.schedule.functor)
arrow.Kind
(extensions in package arrow.fx.extensions.schedule.profunctor)
arrow.Kind
(extensions in package arrow.fx.extensions.schedule.semigroupK)
arrow.Kind
(extensions in package arrow.fx.typeclasses)
arrow.Kind
(extensions in package arrow.fx.typeclasses)
kotlin.Long
arrow.fx.typeclasses.MonadDefer

The context required to defer evaluating a safe computation.

arrow.fx.typeclasses.MonadIO

Lift concrete IO into a polymorphic monad M. This is used to call IO from mtl style programs which don’t have a concrete type. This is in theory enough to define the entire effect hierarchy up to Concurrent however those instances might have different semantics for different types which is why it is not done here. If one wants to use Concurrent methods by only delegating to IO simply perform the task in IO and lift it. If that is not enough use the fx-mtl package for better instances of the effect hierarchy.

arrow.fx.MVar

It’s a mutable variable with context F, that is either empty or contains a value of type A. A pure concurrent queue of size 1.

arrow.fx.MVarFactory

Builds a MVar value for data types F without deciding the type of the MVar’s value.

arrow.fx.OnCancel
arrow.fx.internal.Platform
arrow.fx.typeclasses.Proc

An asynchronous computation that might fail.

arrow.fx.typeclasses.ProcF

A asynchronous computation that might fail.

arrow.fx.Promise

When made, a Promise is empty. Until it is fulfilled, which can only happen once.

arrow.fx.Queue

Lightweight Concurrent Queue for values of A.

arrow.fx.QueueFactory

Builds a QueueFactory for data type F without fixing the Queue’s A type or the Queue.BackpressureStrategy.

arrow.fx.extensions.QueueInvariant
arrow.fx.QueueOf
arrow.fx.QueuePartialOf
arrow.fx.Race2

Alias for Either structure to provide consistent signature for race methods.

arrow.fx.Race3
arrow.fx.Race4
arrow.fx.Race5
arrow.fx.Race6
arrow.fx.Race7
arrow.fx.Race8
arrow.fx.Race9
arrow.fx.RacePair

Alias for Either structure to provide consistent signature for race methods.

arrow.fx.RaceTriple
arrow.fx.Ref

An asynchronous, concurrent mutable reference.

arrow.fx.RefFactory

Builds a Ref value for data types F without deciding the type of the Ref’s value.

arrow.fx.Resource

Resource models resource allocation and releasing. It is especially useful when multiple resources that depend on each other need to be acquired and later released in reverse order. When a resource is created one can make use of use to run a computation with the resource. The finalizers are then guaranteed to run afterwards in reverse order of acquisition.

arrow.fx.extensions.ResourceApplicative
arrow.fx.extensions.ResourceFunctor
arrow.fx.ResourceKindedJ
arrow.fx.extensions.ResourceMonad
arrow.fx.extensions.ResourceMonadIO
arrow.fx.extensions.ResourceMonoid
arrow.fx.ResourceOf
arrow.fx.ResourcePartialOf
arrow.fx.extensions.ResourceSelective
arrow.fx.extensions.ResourceSemigroup
arrow.fx.Schedule

Retrying and repeating effects

arrow.fx.extensions.ScheduleApplicative
arrow.fx.extensions.ScheduleAppy
arrow.fx.extensions.ScheduleCategory
arrow.fx.extensions.ScheduleContravariant
arrow.fx.extensions.ScheduleFunctor
arrow.fx.ScheduleKindedJ
arrow.fx.extensions.ScheduleMonoid
arrow.fx.ScheduleOf
arrow.fx.SchedulePartialOf
arrow.fx.extensions.ScheduleProfunctor
arrow.fx.extensions.ScheduleSemigroup
arrow.fx.extensions.ScheduleSemigroupK
arrow.fx.Semaphore

A counting Semaphore is used to control access to a resource in a concurrent system. It keeps track of the count of available resources.

(extensions in package arrow.fx.extensions.io.applicativeError)
kotlin.Throwable
(extensions in package arrow.fx.extensions.io.monadThrow)
kotlin.Throwable
arrow.fx.internal.TimeoutException
arrow.fx.Timer

Timer allows to sleep for a Duration in F. This behaviour can be derived from Concurrent, and can be used to implement backing off retries etc.

(extensions in package arrow.fx.extensions.io.unsafeCancellableRun)
arrow.unsafe
(extensions in package arrow.fx.extensions.io.unsafeRun)
arrow.unsafe
arrow.fx.typeclasses.UnsafeCancellableRun
arrow.fx.internal.UnsafePromise
arrow.fx.typeclasses.UnsafeRun

Do you like Arrow?

Arrow Org
<