We introduce variant types and a pattern matching operation to synchronous dataflow languages. These languages are used in the design of reactive systems. As these systems grow increasingly complex, the need for abstraction mechanisms, in particular, data and control structures, is critical. Variant types provide a mechanism to precisely model structured data. The pattern matching operation, defined as a clock operator, provides an efficient control structure. Key words: synchronous languages, dataflow, pattern matching, inductive types, clock calculus, controle structure, data structure