12345678910111213141516171819202122232425262728293031323334typeservertypecontexttypeclient={context:context;wd:string;environ:string;argv:stringarray}(* {1 Server management}
Listen, accept client and close *)externalserver_setup:string->string->serveroption="ml_merlin_server_setup"externalserver_accept:server->timeout:float->clientoption="ml_merlin_server_accept"externalserver_close:server->unit="ml_merlin_server_close"(* {1 Context management (stdin, stdout, stderr)}
Setup and close *)externalcontext_setup:context->unit="ml_merlin_context_setup"externalcontext_close:context->return_code:int->unit="ml_merlin_context_close"(* {1 Environment management} *)(** completely replace the environment *)externalmerlin_set_environ:string->unit="ml_merlin_set_environ"(* {1 Fixup for Windows process management} *)externalmerlin_dont_inherit_stdio:bool->unit="ml_merlin_dont_inherit_stdio"