Wet code, dry code, damp code

Nick Szabo came up with the "wet code / dry code" concept to describe the operation of different contract types. He put it this way on his blog:

There's a strong distinction to be made between "wet code," interpreted by the brain, and "dry code," interpreted by computers. Human-read media is wet code whereas computer code and computer-readable files (to the extent a computer deals meaningfully with them) are "dry code."

Traditional law, he says, is "wet code" that 'runs' on the brains of humans that interpret text. Smart contracts are "dry code" that runs on computers.

We'd propose an additional idea: "damp code". Pieces of text in a traditonal contract are "wet code", however, our Treescribe contract modules are drafted so that they can be called like functions and manipulated programmatically. Treescribe's output is ultimately a wet code contract, but many of the data relationships creating that output are machine readable and can be dealt with meaningfully by a computer.

Wet code is going to take a long while to disappear (if ever), so we think one way forward is to integrate dry code elements within wet code. For example, we could have a "dry" bitcoin escrow mechanism working in concert with a "wet" expert determination procedure. Where parties can't agree on a scope completion payment, the transfer of that final payment via crypto would depend on the expert's final vote.

We think lawyers drafting damp code is the first step in that direction.