A List of Successes That Can Change the World

Volume 9600 of the series Lecture Notes in Computer Science pp 367-387


A Branding Strategy for Business Types

  • Avraham ShinnarAffiliated withIBM Research
  • , Jérôme SiméonAffiliated withIBM Research Email author 

* Final gross prices may vary according to local VAT.

Get Access


In the course of building a compiler from business rules to a database run-time, we encounter the need for a type system that includes a class hierarchy and subtyping in the presence of complex record operations. Since our starting point is based on structural typing and targets a data-centric language, we develop an approach inspired by Wadler’s work on XML types (Siméon and Wadler 2003). Our proposed type system has strong similarities with branded or tagged objects, combining nominal and structural typing, and is designed to support a rich set of operations on records commonly found in database languages. We show soundness of the type system and illustrate its use on two of the intermediate languages involved in our compiler for business rules: a calculus for pattern matching with aggregation (CAMP) that captures rules semantics, and the nested relational algebra (NRA) used for optimization and code generation. We show type soundness for both languages. The approach and correctness proofs are fully mechanized using the Coq proof-assistant.