( def me ( makeff ( 'key "jj" ) ( 'chan ( channel "jj" ) ) ) ) ;--------------------- ( def servers ( makeff ( "enro" ( channel "enro" ) ) ) ) ;--------------------- ( def _ops ( plus _ops ( makeff ( ( quote rpc ) ( quote ( ( ( key ) ( ANY ) ) ( ANY ) ) ) ) ) ) ) ;--------------------- ( def rpc lambda ( x f ) ( if ( member x ( dom servers ) ) ( let ( ( a ( send ( ap servers x ) ( makeseq ( ap me 'key ) f ) ) ) ) ( receive ( ap me 'chan ) ) ) ( strcat "ERROR (precondition violated) in function " "rpc" ) ) ) ;--------------------- ( def _ops ( plus _ops ( makeff ( ( quote end_rcp ) ( quote ( ( ) NIL ) ) ) ) ) ) ;--------------------- ( def end_rcp lambda ( ) ( foreach x servers ( progn ( rmchannel ( second x ) ) ) ) ) ;---------------------