One feature I would like to see is the ability to immediately
pass updates to a running gschem.
This would involve opening a pipe between the two programs, and
passing the update as a message. With a pair of pipes it could
go both ways.
<snip>
I would suggest using sockets instead of pipes if you want two-way
communication between the two processes. There's no much difference
between using UNIX domain sockets (AF_LOCAL) and TCP/IP on code level, but
UNIX domain sockets are usually as fast as pipes. This means once you
implement sockets instead of pipes, it will become much easier to change
it from local sockets to TCP/IP which opens up possibilites like
clustering, remote simulation, etc.