bap-primus

The BAP Microexecution Framework
IN THIS PACKAGE
Module Bap_primus . Std . Primus . Machine . Main . M . Syntax
include Monads.Std.Monad.Syntax.S with type 'a t := 'a t
val (>>=) : 'a t -> ( 'a -> 'b t ) -> 'b t

m >>= f is bind m f

val (>>|) : 'a t -> ( 'a -> 'b ) -> 'b t

m >>= f is map m ~f

val (>=>) : ( 'a -> 'b t ) -> ( 'b -> 'c t ) -> 'a -> 'c t

f >=> g is fun x -> f x >>= g

val (!!) : 'a -> 'a t

!!x is return x

val (!$) : ( 'a -> 'b ) -> 'a t -> 'b t

!$f is Lift.unary f

val (!$$) : ( 'a -> 'b -> 'c ) -> 'a t -> 'b t -> 'c t

!$$f is Lift.binary f

val (!$$$) : ( 'a -> 'b -> 'c -> 'd ) -> 'a t -> 'b t -> 'c t -> 'd t

!$$$f is Lift.ternary f

val (!$$$$) : ( 'a -> 'b -> 'c -> 'd -> 'e ) -> 'a t -> 'b t -> 'c t -> 'd t -> 'e t

!$$$$f is Lift.quaternary f

val (!$$$$$) : ( 'a -> 'b -> 'c -> 'd -> 'e -> 'f ) -> 'a t -> 'b t -> 'c t -> 'd t -> 'e t -> 'f t

!$$$$$f is Lift.quinary f

val (>>>) : 'a observation -> ( 'a -> unit t ) -> unit t

event >>> action is the same as Observation.observe event action