LIFE (Logic, Inheritance, Functions, Equations) is a programming language with a powerful facility for structured type inheritance. LIFE reconciles styles from functional programming and logic programming by implicitly delegating control to an automatic suspension mechanism. This allows interleaving interpretation of relational and functional expressions that specify abstract structural depende...