In order for Ratscript to be able to communicate with other programs, it will use a bytecode virtual machine design pattern.
The receiving program needs to have a stack-based VM that can translate to the function calls. Then, when the program starts, it "registers" itself with the Ratscript interpreter by sending a list of the bytecalls, their Ratscript function names, and the number of arguments required for the function in question. Ratscript will then store this information in its catalog, so it may access the API.
If multiple applications register themselves with the same instance of the Ratscript interpreter, they will be able to communicate with one another via Ratscript.
Connections will probably be maintained via a "monitored string stream", being a char-sized location either on the hard drive or in memory.