  Context. Software development pipelines are used for automating essential
parts of software engineering processes, such as build automation and
continuous integration testing. In particular, interactive pipelines, which
process events in a live environment such as an IDE, require timely results for
low-latency feedback, and persistence to retain low-latency feedback between
restarts.
  Inquiry. Developing an incrementalized and persistent version of a pipeline
is one way to reduce feedback latency, but requires dependency tracking, cache
invalidation, and other complicated techniques. Therefore, interactivity
complicates pipeline development if timeliness and persistence become
responsibilities of the pipeline programmer, rather than being supported by the
underlying system.
  Approach. We develop Pipelines for Interactive Environments (PIE), a
Domain-Specific Language (DSL), API, and runtime for developing interactive
software development pipelines, where ease of development is a focus.
  Knowledge. PIE provides a straightforward programming model that enables
direct and concise expression of pipelines without boilerplate, reducing the
development and maintenance effort of pipelines. Compiled pipeline programs can
be embedded into interactive environments such as code editors and IDEs,
enabling timely feedback at a low cost.
  Grounding. Compared to the state of the art, PIE reduces the code required to
express an interactive pipeline by a factor of 6 in a case study on
syntax-aware editors. Furthermore, we evaluate PIE in two case studies of
complex interactive software development scenarios, demonstrating that PIE can
handle complex interactive pipelines in a straightforward and concise way.
