package spotlib

  1. Overview
  2. Docs
include module type of struct include Stdlib.Lazy end
type !'a t = 'a CamlinternalLazy.t
exception Undefined
val force : 'a t -> 'a
val force_val : 'a t -> 'a
val from_fun : (unit -> 'a) -> 'a t
val lazy_from_fun : (unit -> 'a) -> 'a t
  • deprecated Use Lazy.from_fun instead.
val lazy_from_val : 'a -> 'a t
  • deprecated Use Lazy.from_val instead.
val lazy_is_val : 'a t -> bool
  • deprecated Use Lazy.is_val instead.
include module type of struct include Xlazy end
include Monad.T with type 'a t := 'a Stdlib.Lazy.t
include Monad_intf.S1 with type 'a t := 'a Stdlib.Lazy.t
val return : 'a -> 'a Stdlib.Lazy.t
val bind : 'a Stdlib.Lazy.t -> ('a -> 'b Stdlib.Lazy.t) -> 'b Stdlib.Lazy.t
include Monad_intf.EX1 with type 'a t := 'a Stdlib.Lazy.t
val fmap : ('a -> 'b) -> 'a Stdlib.Lazy.t -> 'b Stdlib.Lazy.t

fmap in Haskell

val liftM : ('a -> 'b) -> 'a Stdlib.Lazy.t -> 'b Stdlib.Lazy.t

synonym of fmap

val fmap2 : ('a -> 'b -> 'c) -> 'a Stdlib.Lazy.t -> 'b Stdlib.Lazy.t -> 'c Stdlib.Lazy.t

fmap2 in Haskell

val liftM2 : ('a -> 'b -> 'c) -> 'a Stdlib.Lazy.t -> 'b Stdlib.Lazy.t -> 'c Stdlib.Lazy.t

synonym of fmap2

val void : 'a Stdlib.Lazy.t -> unit Stdlib.Lazy.t
val seq : 'a Stdlib.Lazy.t list -> 'a list Stdlib.Lazy.t

sequence in Haskell. Not tail recursive.

val seq_ : unit Stdlib.Lazy.t list -> unit Stdlib.Lazy.t

sequence_ in Haskell. Not tail recursive.

val mapM : ('a -> 'b Stdlib.Lazy.t) -> 'a list -> 'b list Stdlib.Lazy.t

Not tail recursive

val mapM_ : ('a -> unit Stdlib.Lazy.t) -> 'a list -> unit Stdlib.Lazy.t

Not tail recursive

val iteri : (int -> 'a -> unit Stdlib.Lazy.t) -> 'a list -> unit Stdlib.Lazy.t

Iteration with index starting from 0. Not tail recursive.

val for_ : int -> int -> (int -> unit Stdlib.Lazy.t) -> unit Stdlib.Lazy.t

for like iteration. Not tail recursive

val join : 'a Stdlib.Lazy.t Stdlib.Lazy.t -> 'a Stdlib.Lazy.t
include Monad_intf.Infix1 with type 'a t := 'a Stdlib.Lazy.t
val (>>=) : 'a Stdlib.Lazy.t -> ('a -> 'b Stdlib.Lazy.t) -> 'b Stdlib.Lazy.t

synonym of bind

val (>>|) : 'a Stdlib.Lazy.t -> ('a -> 'b) -> 'b Stdlib.Lazy.t

synonum of fmap, with the flipped arguments

Applicative style binops

val (^<$>) : ('a -> 'b) -> 'a Stdlib.Lazy.t -> 'b Stdlib.Lazy.t

same as map, <$> in Haskell

val (/<*>) : ('a -> 'b) Stdlib.Lazy.t -> 'a Stdlib.Lazy.t -> 'b Stdlib.Lazy.t

<*> in Haskell

module S = Xlazy.S
module EX = Xlazy.EX
module Infix = Xlazy.Infix
val (!!) : 'a Stdlib.Lazy.t -> 'a

Same as Lazy.force

val eager : 'a -> 'a Stdlib.Lazy.t
val from_val : 'a -> 'a Stdlib.Lazy.t
val peek : 'a Stdlib.Lazy.t -> 'a option
val is_val : 'a Stdlib.Lazy.t -> bool
val detuple : ('a * 'b) Stdlib.Lazy.t -> 'a Stdlib.Lazy.t * 'b Stdlib.Lazy.t
OCaml

Innovation. Community. Security.