- Data Pipes
  - Pipes allow the output of one primitive to flow into a subsequent primitive.
  - Pipes can easily be created inside a macro.
  - The Midas framework handles the details of synchronization between the writer and readers of a pipe.
  - Pipes can be either blocking (prevents data loss) or non-blocking (allows data loss in cases where speed is more important than completeness).

Java Experts Take Note:
The data pipe concept is very similar to pipes in Unix. However, some of the Midas frameworks (including NeXtMidas) provide additional features not found in the Unix pipes.