Module Imandra_interactive.Interactive_background_thread

Background thread for imandra-interactive

include Imandra_thread_util.Background_thread.S
val running_on_bg_thread : unit -> bool

Is the caller running on this background thread?

include Imandra_thread_util.Fut.EXECUTOR
val run : ( unit -> unit ) -> unit

run f schedules f to run on some background thread

val run1 : ( 'a -> unit ) -> 'a -> unit

run1 f x schedules f x to run on some background thread

val call : name:string -> ( 'a -> 'b ) -> 'a -> 'b Fut.t

call thread f x queues a task that will compute f x, and returns a future for the result of that computation.

val call0 : name:string -> ( unit -> 'a ) -> 'a Fut.t
val call1 : name:string -> ( 'a -> 'b ) -> 'a -> 'b Fut.t
val call2 : name:string -> ( 'a -> 'b -> 'c ) -> 'a -> 'b -> 'c Fut.t
val run0 : ( unit -> unit ) -> unit
val run2 : ( 'a -> 'b -> unit ) -> 'a -> 'b -> unit
val unwrap_ : ( 'a, Fut.exn_with_bt_opt ) Stdlib.result -> 'a
val set_exn_handler : ( exn -> Stdlib.Printexc.raw_backtrace -> unit ) -> unit