Closed
Description
Abstractions built on pipes are created using a 'protocol compiler' that can define complex interactions between two endpoints. At this point I think it is not worth maintaining, for several reasons:
- In practice we are using just a few simple pipe-based types and not defining custom protocols
- The protocol compiler imposes some maintenance burden. It is a complex syntax extension that generates many calls into core.
- Writing and maintaining protocols is hard, aren't that aesthetically pleasing.
- It is not likely to be further developed in the near-term
Instead I think we should rewrite the existing protocols by hand and remove the compiler.