Module Relude_NonEmpty.Array
A NonEmpty implemented using an array as the tail sequence
include { ... };
type t('a)= WithSequence(Relude_Sequence.Array).t('a)=
;|NonEmpty('a, Relude_Sequence.Array.t('a))The type of a non-empty sequence of values
let one: 'a => t('a);let make: 'a => Relude_Sequence.Array.t('a) => t('a);let fromSequence: Relude_Sequence.Array.t('a) => option(t('a));let toSequence: t('a) => Relude_Sequence.Array.t('a);let fromList: list('a) => option(t('a));let fromArray: array('a) => option(t('a));let cons: 'a => t('a) => t('a);let uncons: t('a) => ('a, Relude_Sequence.Array.t('a));let head: t('a) => 'a;let tail: t('a) => Relude_Sequence.Array.t('a);let concat: t('a) => t('a) => t('a);
module SemigroupAny: { ... };let concatNamed: prefix:SemigroupAny.t('a) => SemigroupAny.t('a) => SemigroupAny.t('a);
module MagmaAny: { ... };let reduceLeft: ('a => 'a => 'a) => t('a) => 'a;let foldLeft: ('b => 'a => 'b) => 'b => t('a) => 'b;let foldRight: ('a => 'b => 'b) => 'b => t('a) => 'b;
module Foldable: { ... };module BsFoldableExtensions: { ... };let any: ('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 toList: Foldable.t('a) => list('a);let toArray: Foldable.t('a) => array('a);
module FoldableSemigroupExtensions: (S: BsBastet.Interface.SEMIGROUP) => { ... };module FoldableMonoidExtensions: (M: BsBastet.Interface.MONOID) => { ... };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;
module FoldableApplicativeExtensions: (A: BsBastet.Interface.APPLICATIVE) => { ... };module FoldableMonadExtensions: (M: BsBastet.Interface.MONAD) => { ... };module FoldableEqExtensions: (E: BsBastet.Interface.EQ) => { ... };module FoldableOrdExtensions: (O: BsBastet.Interface.ORD) => { ... };module Functor: { ... };module BsFunctorExtensions: { ... };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: t(('a => 'b)) => t('a) => t('b);
module Apply: { ... };module BsApplyExtensions: { ... };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 => t('a);
module Applicative: { ... };module BsApplicativeExtensions: { ... };let liftA1: ('a => 'b) => Applicative.t('a) => Applicative.t('b);let all: list(Applicative.t('a)) => Applicative.t(list('a));let bind: t('a) => ('a => t('b)) => t('b);
module Monad: { ... };module BsMonadExtensions: { ... };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 mkString: string => t(string) => string;let reverse: t('a) => t('a);let eqBy: ('a => 'a => bool) => t('a) => t('a) => bool;let eq: (module BsBastet.Interface.EQ with type t = 'a) => t('a) => t('a) => bool;
let showBy: ('a => string) => t('a) => string;let show: (module BsBastet.Interface.SHOW with type t = 'a) => t('a) => string;
module WithApplicative: (A: BsBastet.Interface.APPLICATIVE) => { ... };NonEmpty extensions when you have an APPLICATIVE instance