Coding in Legalese

I’ve been on the fringes of an effort to agree a large development contract with a customer recently. Twelve months of wrangling and negotiations have finally given way to documents and legalese, some fifty pages in total. Dan pointed out that refining and reviewing the contracts is essentially a refactoring process, the basic approach being to remember earlier definitions and substitute in those definitions where they are used later in the document, creating intentional complexity from single fragments of text.

The programming metaphor breaks down when it comes to validation: there’s no type system and no compiler. Lets hope the runtime errors are kept to a minimum.

Some translations for techies:

“Tesco” as The Client := variable definition

DEFINITIONS AND INTERPRETATION := #define

Confidential := private

“With reference to Schedule 9" := imports

“as described in paragraph 2 b (i)” := variable expression

CONDITIONS = IsAssert.True

WAIVER = throws exception

Material Breach = General Protection Fault