Legal Contracts Amending with
Résumé
Legal contracts can be amended during their lifetime through the agreement of the parties or in accordance with the doctrines of force majeure and hardship. When legal contracts are defined using a programming language, amendments are made through runtime adjustments to the contract’s behavior and must be expressed by means of appropriate language features. In this paper, we examine the extension of Stipula, a formal language for legal contracts, with higher-order functionality to enable the dynamic updating of contract codes. We discuss the semantics of the language when amendments either extend or override the contract’s functionality. Additionally, we study two techniques for constraining amendments, one using annotations within the contract and another that allows for runtime agreements between parties.