sig
type 'a event_t
and scheduler_t
type thread_t
exception No_value
exception FT_error of string
val create_scheduler : unit -> Fthread.scheduler_t
val create_thread :
Fthread.scheduler_t -> ('a -> unit) -> 'a -> Fthread.thread_t
val create_event : Fthread.scheduler_t -> 'a Fthread.event_t
val start_scheduler : Fthread.scheduler_t -> unit
val cooperate : unit -> unit
val cooperate_n : int -> unit
val generate : 'a Fthread.event_t -> unit
val generate_value : 'a Fthread.event_t -> 'a -> unit
val await : 'a Fthread.event_t -> unit
val await_n : 'a Fthread.event_t -> int -> unit
val get_value : 'a Fthread.event_t -> 'a
val get_value_n : 'a Fthread.event_t -> int -> 'a
val unlink : unit -> unit
val link : Fthread.scheduler_t -> unit
val thread_stop : Fthread.thread_t -> unit
val thread_suspend : Fthread.thread_t -> unit
val thread_resume : Fthread.thread_t -> unit
val join : Fthread.thread_t -> unit
val exit : unit -> unit
end