A pattern calculus for rule languages: Expressiveness, compilation, and mechanizationAvraham ShinnarJérôme Siméonet al.2015ECOOP 2015