  Stream Runtime Verification is a formal dynamic analysis technique that
generalizes runtime verification algorithms from temporal logics like LTL to
stream monitoring, allowing to compute richer verdicts than Booleans (including
quantitative and arbitrary data). In this paper we study the problem of
implementing an SRV engine that is truly extensible to arbitrary data theories,
and we propose a solution as a Haskell embedded domain specific language. In
spite of the theoretical clean separation in SRV between temporal dependencies
and data computations, previous engines include ad-hoc implementations of a few
data types, requiring complex changes to incorporate new data theories. We
propose here an SRV language called hLola that borrows general Haskell types
and embeds them transparently into an eDSL. This novel technique, which we call
lift deep embedding, allows for example, the use of higher-order functions for
static stream parameterization. We describe the Haskell implementation of hLola
and illustrate simple extensions implemented using libraries, which require
long and error-prone additions in other ad-hoc SRV formalisms.
