prbnmcn-basic-structures

Base package for prbnmcn-* packages
Library prbnmcn-basic-structures
val (>>=) : 'a t -> ( 'a -> 'b t ) -> 'b t

Alias to bind.

val let* : 'a t -> ( 'a -> 'b t ) -> 'b t

Alias to bind.

val (>>) : unit m t -> ( unit -> 'a t ) -> 'a t
val let*! : 'a m -> ( 'a m -> 'b t ) -> 'b t

let*! x = m in f uses the target language binding construct to bind x to m and passes x to the continuation f.

In contrast to let* x = return m in f, this has the effect of not duplicating m at each use site.

val (>>!) : unit m -> ( unit -> 'b t ) -> 'b t