PreviousUpNext

13.4.68  mailop

The standard library mailop package implements mailop values and combinators — basic Mythryl inter-thread communication functionality.

The mailop package implements an extension of the Mailop API.

The mailop package source code is in src/lib/src/lib/thread-kit/src/core-thread-kit/mailop.pkg. The above information is manually maintained and may contain errors.

api {
    Mailop X = ...;
    Run_Gun  = Mailop(Void );
    End_Gun  = Mailop(Void );
    do_one_mailop : List(Mailop(X ) ) -> X;
    ==> : (Mailop(X ) , (X -> Y)) -> Mailop(Y );
    Replyqueue  = {next_id:Ref(Int ), queue:Ref(List(?.mailop::Replyqueue_Entry ) )};
    make_replyqueue : Void -> Replyqueue;
    put_in_replyqueue : (Replyqueue , Mailop(Void )) -> Void;
    do_one_mailop' : Replyqueue -> List(Mailop(Void ) ) -> Void;
    replyqueue_to_string : (Replyqueue , String) -> String;
    dynamic_mailop : (Void -> Mailop(X )) -> Mailop(X );
    dynamic_mailop_with_nack : (Mailop(Void ) -> Mailop(X )) -> Mailop(X );
    never' : Mailop(X );
    always' : X -> Mailop(X );
    if_then' : (Mailop(X ) , (X -> Y)) -> Mailop(Y );
    make_exception_handling_mailop : (Mailop(X ) , (Exception -> X)) -> Mailop(X );
    cat_mailops : List(Mailop(X ) ) -> Mailop(X );
    block_until_mailop_fires : Mailop(X ) -> X;
    set_condvar__iu : ?.internal_threadkit_types::Condition_Variable -> Void;
    wait_on_condvar' : ?.internal_threadkit_types::Condition_Variable -> Mailop(Void );};

Comments and suggestions to: bugs@mythryl.org

PreviousUpNext