Module Relude_Array
Relude.Array contains typeclass instances and utility functions for the array('a) type.
include Relude_Array_Instances;
let concatNamed: prefix:SemigroupAny.t('a) => SemigroupAny.t('a) => SemigroupAny.t('a);let map: ('a => 'b) => array('a) => array('b);
let flipMap: Functor.t('a) => ('a => 'b) => Functor.t('b);let void: Functor.t('a) => Functor.t(unit);let voidRight: 'a => Functor.t('b) => Functor.t('a);let voidLeft: Functor.t('a) => 'b => Functor.t('b);let flap: Functor.t(('a => 'b)) => 'a => Functor.t('b);let apply: array(('a => 'b)) => array('a) => array('b);
let applyFirst: Apply.t('a) => Apply.t('b) => Apply.t('a);let applySecond: Apply.t('a) => Apply.t('b) => Apply.t('b);let map2: ('a => 'b => 'c) => Apply.t('a) => Apply.t('b) => Apply.t('c);let map3: ('a => 'b => 'c => 'd) => Apply.t('a) => Apply.t('b) => Apply.t('c) => Apply.t('d);let map4: ('a => 'b => 'c => 'd => 'e) => Apply.t('a) => Apply.t('b) => Apply.t('c) => Apply.t('d) => Apply.t('e);let map5: ('a => 'b => 'c => 'd => 'e => 'f) => Apply.t('a) => Apply.t('b) => Apply.t('c) => Apply.t('d) => Apply.t('e) => Apply.t('f);let tuple2: Apply.t('a) => Apply.t('b) => Apply.t(('a, 'b));let tuple3: Apply.t('a) => Apply.t('b) => Apply.t('c) => Apply.t(('a, 'b, 'c));let tuple4: Apply.t('a) => Apply.t('b) => Apply.t('c) => Apply.t('d) => Apply.t(('a, 'b, 'c, 'd));let tuple5: Apply.t('a) => Apply.t('b) => Apply.t('c) => Apply.t('d) => Apply.t('e) => Apply.t(('a, 'b, 'c, 'd, 'e));let mapTuple2: ('a => 'b => 'c) => (Apply.t('a), Apply.t('b)) => Apply.t('c);let mapTuple3: ('a => 'b => 'c => 'd) => (Apply.t('a), Apply.t('b), Apply.t('c)) => Apply.t('d);let mapTuple4: ('a => 'b => 'c => 'd => 'e) => (Apply.t('a), Apply.t('b), Apply.t('c), Apply.t('d)) => Apply.t('e);let mapTuple5: ('a => 'b => 'c => 'd => 'e => 'f) => (Apply.t('a), Apply.t('b), Apply.t('c), Apply.t('d), Apply.t('e)) => Apply.t('f);let pure: 'a => array('a);
let liftA1: ('a => 'b) => Applicative.t('a) => Applicative.t('b);let bind: array('a) => ('a => array('b)) => array('b);
let flatMap: ('a => Monad.t('b)) => Monad.t('a) => Monad.t('b);let flatten: Monad.t(Monad.t('a)) => Monad.t('a);let composeKleisli: ('a => Monad.t('b)) => ('b => Monad.t('c)) => 'a => Monad.t('c);let flipComposeKleisli: ('b => Monad.t('c)) => ('a => Monad.t('b)) => 'a => Monad.t('c);let liftM1: ('a => 'b) => Monad.t('a) => Monad.t('b);let when_: Monad.t(bool) => Monad.t(unit) => Monad.t(unit);let unless: Monad.t(bool) => Monad.t(unit) => Monad.t(unit);let alt: array('a) => array('a) => array('a);
let orElse: fallback:Alt.t('a) => Alt.t('a) => Alt.t('a);let imap: ('a => 'b) => ('b => 'a) => array('a) => array('b);
let foldLeft: ('a => 'b => 'a) => 'a => BsBastet.Array.Foldable.t('b) => 'a;let foldRight: ('a => 'b => 'b) => 'b => BsBastet.Array.Foldable.t('a) => 'b;
let any: ('a => bool) => Foldable.t('a) => bool;let all: ('a => bool) => Foldable.t('a) => bool;let containsBy: ('a => 'a => bool) => 'a => Foldable.t('a) => bool;let contains: (module BsBastet.Interface.EQ with type t = 'a) => 'a => Foldable.t('a) => bool;let indexOfBy: ('a => 'a => bool) => 'a => Foldable.t('a) => option(int);let indexOf: (module BsBastet.Interface.EQ with type t = 'a) => 'a => Foldable.t('a) => option(int);let minBy: ('a => 'a => BsBastet.Interface.ordering) => Foldable.t('a) => option('a);let min: (module BsBastet.Interface.ORD with type t = 'a) => Foldable.t('a) => option('a);let maxBy: ('a => 'a => BsBastet.Interface.ordering) => Foldable.t('a) => option('a);let max: (module BsBastet.Interface.ORD with type t = 'a) => Foldable.t('a) => option('a);let countBy: ('a => bool) => Foldable.t('a) => int;let length: Foldable.t('a) => int;let size: Foldable.t('a) => int;let count: Foldable.t('a) => int;let forEach: ('a => unit) => Foldable.t('a) => unit;let forEachWithIndex: ('a => int => unit) => Foldable.t('a) => unit;let find: ('a => bool) => Foldable.t('a) => option('a);let findWithIndex: ('a => int => bool) => Foldable.t('a) => option('a);let toArray: Foldable.t('a) => array('a);
let foldMap: (module BsBastet.Interface.MONOID with type t = 'a) => ('b => 'a) => Foldable.t('b) => 'a;let foldWithMonoid: (module BsBastet.Interface.MONOID with type t = 'a) => Foldable.t('a) => 'a;let intercalate: (module BsBastet.Interface.MONOID with type t = 'a) => 'a => Foldable.t('a) => 'a;
let eqBy: ('a => 'a => bool) => array('a) => array('a) => bool;let eq: (module BsBastet.Interface.EQ with type t = 'a) => array('a) => array('a) => bool;
include Relude_Array_Base;
let cons: 'a => array('a) => array('a);let prepend: 'a => array('a) => array('a);let uncons: array('a) => option(('a, array('a)));let append: 'a => array('a) => array('a);let repeat: int => 'a => array('a);let makeWithIndex: int => (int => 'a) => array('a);let mapWithIndex: ('a => int => 'b) => array('a) => array('b);let reverse: array('a) => array('a);let shuffleInPlace: array('a) => array('a);let shuffle: array('a) => array('a);let length: array('a) => int;let isEmpty: array('a) => bool;let isNotEmpty: array('a) => bool;let at: int => array('a) => option('a);let setAt: int => 'a => array('a) => option(array('a));let head: array('a) => option('a);let tail: array('a) => option(array('a));let tailOrEmpty: array('a) => array('a);let init: array('a) => option(array('a));let initOrEmpty: array('a) => array('a);let last: array('a) => option('a);let take: int => array('a) => array('a);let takeExactly: int => array('a) => option(array('a));let takeWhile: ('a => bool) => array('a) => array('a);let drop: int => array('a) => array('a);let dropExactly: int => array('a) => option(array('a));let dropWhile: ('a => bool) => array('a) => array('a);let filter: ('a => bool) => array('a) => array('a);let keep: ('a => bool) => array('a) => array('a);let filterWithIndex: ('a => int => bool) => array('a) => array('a);let keepWithIndex: ('a => int => bool) => array('a) => array('a);let filterNot: ('a => bool) => array('a) => array('a);let reject: ('a => bool) => array('a) => array('a);let filterNotWithIndex: ('a => int => bool) => array('a) => array('a);let rejectWithIndex: ('a => int => bool) => array('a) => array('a);let mapOption: ('a => option('b)) => array('a) => array('b);let catOption: array(option('a)) => array('a);let partition: ('a => bool) => array('a) => (array('a), array('a));let splitAt: int => array('a) => option((array('a), array('a)));let prependToAll: 'a => array('a) => array('a);let intersperse: 'a => array('a) => array('a);let replicate: int => array('a) => array('a);let zip: array('a) => array('b) => array(('a, 'b));let zipWith: ('a => 'b => 'c) => array('a) => array('b) => array('c);let zipWithIndex: array('a) => array(('a, int));let unzip: array(('a, 'b)) => (array('a), array('b));let sortWithInt: ('a => 'a => int) => array('a) => array('a);let sortBy: ('a => 'a => BsBastet.Interface.ordering) => array('a) => array('a);let sort: (module BsBastet.Interface.ORD with type t = 'a) => array('a) => array('a);let distinctBy: ('a => 'a => bool) => array('a) => array('a);let removeFirstBy: ('a => 'a => bool) => 'a => array('a) => array('a);let removeEachBy: ('a => 'a => bool) => 'a => array('a) => array('a);let distinct: (module BsBastet.Interface.EQ with type t = 'a) => array('a) => array('a);let removeFirst: (module BsBastet.Interface.EQ with type t = 'a) => 'a => array('a) => array('a);let removeEach: (module BsBastet.Interface.EQ with type t = 'a) => 'a => array('a) => array('a);let replaceAt: int => 'a => array('a) => array('a);let scanLeft: ('b => 'a => 'b) => 'b => array('a) => array('b);let scanRight: ('a => 'b => 'b) => 'b => array('a) => array('b);let insertAt: int => 'a => array('a) => array('a);let updateAt: int => ('a => 'a) => array('a) => array('a);let swapAt: int => int => array('a) => array('a);let removeAt: int => array('a) => array('a);let chunk: int => array('a) => array(array('a));
include Relude_Array_Specializations;
module Infix: { ... };