I've been noticing recently that law and computer science have a great deal in common. For instance, to accomplish a 'small' or 'trivial' task in either field is often not as easy as an outsider might assume.
How do those similar projects actually handle ambiguously written laws? All that I see in Catala paper is basically "let this whole thing bounce back and forth between lawyer and programmer until it becomes unambiguous."
Kind of off topic but I love relating programming to law. Both are enormous fields where no one has mastered all fields but the general populace (non-tech/legal) fails to grasp that. The interview process for engineers seems to have failed, to some extent, to understand this as well.
A friend of mine is a lawyer, she's been talking about this lawyer-programmer similarity for a while. She tried to organize laws from the more textual representation into a more diagrammatic one, which in a way is a step step towards representing laws like programming code: http://www.lexagraph.com/category/diagrams/
I've often thought that legal reasoning and thinking computationally are very close kin, being the only two vocations with the job description of "logician" so to me this just sounds like a very reasonable lateral move—albeit, one with more challenges than most. I wish the OP luck... although I think excellent software engineering requires a healthy dose of pessimism too.
Sidenote: Charles Stross explores the intersection of computation and law (and many other ideas) in Accelerando (think, as the Singularity takes hold, sentient business plans with Turing complete articles of incorporation rule the ball of mostly dust that used to be the solar system). It's a free and enjoyable ebook:
You are right, but wouldn't it be lovely to have a programming language to reduce our reliance on lawyers? (e.g., some logic language in a civil law system)
Every day, I see more and more parallels between coding and law: the philosophy of each dictates elegant and simple design, but(because) the practitioners spend most of their time navigating hopelessly complex legacy systems.
There is a nice parallel between the legal profession and programming. Programmers write software in such a way that they try (if they're any good) to reduce the number of assumptions made and the number of bugs and the ambiguities in their code. Failure to do so results in undefined behavior, crashing code and in internet facing code in possibly being hacked.
Lawyers write code into contracts. Good lawyers try to do so by removing ambiguity where ever they can. Failure to do so results in court cases where that ambiguity is resolved, and in some cases will result in damage for the party that originally contracted them to write the code.
Neither lawyers nor programmers are legally liable for such fuck-ups.
Besides, as a programmer you should not excuse yourself with "IANAL" or otherwise pass any judgment to lawyers. Lawyers are just that: lawyers. They don't hold the truth either. One lawyer says this, another lawyer says that. F*k 'm. If anything, say "IANAJ" (I Am Not A Judge). Trias politica, you gotta love it.
reply