Package arrow. core
Types
NonEmptyList
is a data type used in Λrrow to model ordered lists that guarantee to have at least one value. NonEmptyList
is available in the arrow-core
module under the import arrow.core.NonEmptyList
If you have worked with Java at all in the past, it is very likely that you have come across a NullPointerException
at some time (other languages will throw similarly named errors in such a case). Usually this happens because some method returns null
when you weren't expecting it and, thus, isn't dealing with that possibility in your client code. A value of null
is often abused to represent an absent optional value. Kotlin tries to solve the problem by getting rid of null
values altogether, and providing its own special syntax Null-safety machinery based on ?
.
Functions
Combines two structures by taking the union of their shapes and using Ior to hold the elements.
Combines two structures by taking the union of their shapes and combining the elements with the given function.
Returns an Option containing all elements that are instances of specified type parameter B.
Returns a Map containing all elements that are instances of specified type parameter R.
If this
is valid return this
, otherwise if that
is valid return that
, otherwise combine the failures. This is similar to orElse except that here failures are accumulated.
Returns the first element as Some(element), or None if the iterable is empty.
Returns the first element as Some(element) matching the given predicate, or None if element was not found.
Binds the given function across Right.
Binds the given function across Ior.Right.
Returns the option's value if the option is nonempty, otherwise return the result of evaluating default
.
Return the Valid value, or the default if Invalid
Applies the given function f
if this is a Left, otherwise returns this if this is a Right. This is like flatMap
for the exception.
Logical conditional. The equivalent of Prolog's soft-cut. If its first argument succeeds at all, then the results will be fed into the success branch. Otherwise, the failure branch is taken.
Returns the last element as Some(element), or None if the iterable is empty.
Returns the last element as Some(element) matching the given predicate, or None if no such element was found.
Returns a List> containing the zipped values of the two lists with null for padding on the left.
Returns a Sequence> containing the zipped values of the two sequences with null for padding on the left.
Returns a List containing the result of applying some transformation (A?, B) -> C
on a zip, excluding all cases where the right value is null.
Returns a Sequence containing the result of applying some transformation (A?, B) -> C
on a zip, excluding all cases where the right value is null.
Extractor of non-fatal Throwable. Will not match fatal errors like VirtualMachineError
(for example, OutOfMemoryError
and StackOverflowError
, subclasses of VirtualMachineError
), ThreadDeath
, LinkageError
, InterruptedException
. This will also not match CancellationException since that's a fatal exception in Kotlin for cancellation purposes.
Returns the Throwable if NonFatal and throws it otherwise.
Returns this option's if the option is nonempty, otherwise returns another option provided lazily by default
.
Return this if it is Valid, or else fall back to the given default. The functionality is similar to that of findValid except for failure accumulation, where here only the error on the right is preserved and the error on the left is ignored.
Returns a List> containing the zipped values of the two lists with null for padding.
Align two structures as in zip, but filling in blanks with null.
Returns a Sequence> containing the zipped values of the two sequences with null for padding.
Returns a List containing the result of applying some transformation (A?, B?) -> C
on a zip.
Returns a Sequence containing the result of applying some transformation (A?, B?) -> C
on a zip.