To focus the search input from anywhere on the page, press the 'S' key.
in-package search v0.1.0
include BaseLazyPlus with type 'a m = 'a LazyList.t
include BatInterfaces.Monad with type 'a m = 'a LazyList.t
type 'a m = 'a LazyList.t
The type of a monad producing values of type
include MonadPlus with type 'a m := 'a m
include BasePlus with type 'a m := 'a m
include BatInterfaces.Monad with type 'a m := 'a m
val zero : unit -> 'a m
val null : 'a m -> bool
null x implies that x is zero. If you do not want to or cannot answer whether a given x is zero, then null x should be false. I have provided this so that streams can be implemented more efficiently.
include Monad with type 'a m := 'a m
include Applicative.Applicative with type 'a m := 'a m
val of_list : 'a list -> 'a m
Generalises matrix transposition. This will loop infinitely if
BasePlus.null cannot answer
val of_llist : 'a LazyList.t -> 'a m
val lsum : 'a LazyList.t m -> 'a m
val lmsum : 'a m LazyList.t -> 'a m
val ltranspose : 'a LazyList.t m -> 'a m LazyList.t
Generalises matrix transposition. You don't necessarily have to worry about correctly implementing
BaseLazyPlus.null for this function, since the return value can happily be infinite.