Thank you, Kero and Paul, for your comments.

I see that I have to supply more specific information about my
application.

It's for scientific data analysis. The expert user will do most work
through
a dialog interface which I want to re-implement by extending irb.
Commands
entered through the irb terminal will result in changes in diagrams or
tables that run in separate GUI windows; mouse clicks in these windows
shall have the same effect as specific terminal commands. I also need a
log file which keeps track of all activities.

In conclusion, GUI activity should produce a command string which is to
be
executed by irb, and some irb commands will result in GUI changes.

Your comments indicate that threads are no good idea.

Is there no simpler solution than running irb and GUI as separate
processes,
with lots of interprocess communication?

Thanks again, Joachim