-
-
Notifications
You must be signed in to change notification settings - Fork 166
Coprocess Protocol Proposal
andychu edited this page Nov 21, 2018
·
28 revisions
This is a sketch of protocol to allow coprocesses to substitute for normal "batch" processes in shell scripts. A coprocess can be thought of as a single-threaded server that reads requests from a pipe and writes responses to a pipe.
The goal is to make shell scripts faster. It can also make interactive completion faster, since completion scripts often invoke (multiple) external tools.
Because it will be easier for existing command line tools to implement this protocol. Many tools are written with global variables, or they are written in languages that don't freely thread anyway (Python, R, etc.).
Shellac Protocol Proposal -- this protocol for shell-independent command completion can build on top of the coprocess protocol.