The more I think about it, there should be a DSL for all laws. (Something better than the legalese dialect of English, at least.)
I mean, please show me the typedefs for attempted rape and reckless driving.
Most of the time, the interesting cases are about figuring out who's lying, if there was intent, determining what's reasonably expected, how a certain condition might count as an aggravating circumstance etc. etc.
If at least some of the hard work around being a lawyer and being a judge could be codified in a computer and automated , lawyers and judges could be better in the other , harder parts of the legal profession ?
A DSL whose programmers are lawyers and whose interpreters are courts.
- There's a reference implementation, because the whole point is that the asset specification is executable
- At least one implementation is open-source, so it can be validated independently (could compromise here, but why bother these days), and cross-platform
- Financial-industry programmers, including investors, are already familiar with it and want to use it
- More readable and concise than legalese (since the goal is transparency)
- Has a built-in XML parser, or simple bindings for one, since XML configuration is another part of the proposal
I'm not sure how important type-checking or automatic code verification is here, but since Python was even mentioned in the proposal, it must not be crucial -- the main point is that investors can download the code and play with it. If the emphasis was more on creating a rigorous specification of how things work, I'd expect SML or maybe Prolog would be at the top of the list.