Title Process Composition with Typed Unix Pipes Authors Michael Sippel, Horst Schirmeier E-Mail michael.sippel@mailbox.tu-dresden.de Affiliation TU Dresden Abstract Pipes are a standard inter-process communication mechanism in Unix-like operating systems, allowing to compose simple, single-purpose programs to solve complex problems. This powerful mechanism arguably contributed quite a lot to the success of Unix. However, the design decision to standardize unstructured, type-less byte streams as a basis for communication can be seen as disadvantageous: Incompatible programs can mistakenly be hooked together, conversions have to be added manually, and the structure of the communicated data has to be re-created by parsers and serialized again at every node in the pipeline. To overcome these disadvantages, we propose to explore the potential behind *typed* Unix pipes. Based on a type system with a special type constructor -- the *ladder type*, -- run-time type checks for pipes and potentially also files, program arguments and environment variables prevent the user to create invalid program graphs. This also allows to add automatic conversions that resolve type conflicts in the future. A prototypical implementation extends an existing shell with a type-check routine and demonstrates the concepts on a set of realistic use-case scenarios. Language of the Presentation English