Live data from Hacker News

CatalaLang/catala: Programming language for law specification

github.com

251–260 of 301 posts

Re: CatalaLang/catala: Programming language for law specification

#251

Earlier quoted context omitted.

Sure, but that wouldn't change if they were written in code. It would probably get much worse, in fact.

I don't think so. Any state progressive enough to adopt law-as-code might also put in place laws limiting the length and complexity of the code. It would be easier to control this aspect as code I believe.

By that same token, any state progressive enough to think about law-as-code might first put in place measures to limit the length and complexity of contracts written in plain language as well.

The problem here is the length and complexity, not the language used to express the contract. And note that law-as-code would necessarily mean that a layman is fully unable to understand a contract (or the text of a law) at all. They would be fully reliant on a specialized worker to explain the code to them in plain English. Current contracts, if you have the patience to read and map them in full, are fully understandable by anyone with a good knowledge of the English language.

Re: CatalaLang/catala: Programming language for law specification

#252

Earlier quoted context omitted.

The text of a contract can either be long and very explicit, or short but full of implicit assumptions. A DSL is the second kind: you encode those assumptions I the structure of the DSL and the text as written is based on all of those assumptions. The problem than becomes that anyone who wants to understand the contract now has to read not just the contract as written, but also all of the definition of the DSL itself…

If you can't read documents in whatever form for their legal meaning, you can't work around the need for a lawyer. The DSL may be defined in comprehensible enough language and texts in it may be interpretable easily enough; but the method of contract is determined by agreement of its parties (inside the bounds set by law).

Currently, contracts are judged by their meaning in plain English, with any additional definitions being stipulated in the contract itself (either explicitly or as part of the verbal agreements that accompanied the negotiation of the contract).

A DSL is an extra layer of abstraction above that. If you agree to a contract written in some DSL, then you must also agree to the way that DSL translates into plain English. To significantly compress a legal contract that is not deliberately written to obfuscate its meaning, the DSL has to pack a lot of precise meanings into every term, making it very dense and hard to parse unless you're well-versed in it.

Re: CatalaLang/catala: Programming language for law specification

#253
post #154

Earlier quoted context omitted.

I worked for a company that translated certain kinds of legal contract into what was effectively a DSL. They could then be represented in a simplified way. That was the whole business. The CEO (a lawyer) claimed that the lawyers who wrote these things would deliberately and unnecesarily overcomplicate them so that they could maximize billable hours. I think they could quite easily have been templated using a DSL but…

The text of a contract can either be long and very explicit, or short but full of implicit assumptions. A DSL is the second kind: you encode those assumptions I the structure of the DSL and the text as written is based on all of those assumptions. The problem than becomes that anyone who wants to understand the contract now has to read not just the contract as written, but also all of the definition of the DSL itself…

That's absolutely not correct. A DSL is not necessarily short and implicit. It can be very implicit or very explicit and the one I worked on was explicit. Its defining feature would be that it is straitjacketed.

The customers in our case did not actually look at the DSL - it was entirely internal. We decompiled the legal document into the DSL so that we could then represent the contract in more understandable ways.

Re: CatalaLang/catala: Programming language for law specification

#254

programmers love to propose using "programming language" or similar for law But this fails to realize that _ambiguity (in some ways) is a fundamental important part of law_. This is because the world itself is fundamental ambiguous (in some ways)/clear cut. Naturally not all ways of ambiguity are wanted. But you can be sure that with "code as law" the ways loopholes are abused will get worse in my opinion. I would ev…

I don't think there is any reason ambiguity would clash with a project like this. Take "value.fair_market" in the concepts section [0]. Sure, lawyers can argue over what this means, but these competing definitions can also be defined programmatically.

I agree with your idea that our interest in laws shouldn't focus on implementation details but I think they should focus on outcomes. This requires a method to produce an evaluation function to measure the outcomes of a new law, and a system such as Catala to help model expected outcomes and to help select between competing laws (eg if our outcome = "we want less pollution" then our policy might be "ban polluting industries" or "tax pollution externalities." Both have complex consequences which would be better analyzed automatically and measured empirically.)

[0] https://github.com/CatalaLang/catala#concepts

Re: CatalaLang/catala: Programming language for law specification

#255

programmers love to propose using "programming language" or similar for law But this fails to realize that _ambiguity (in some ways) is a fundamental important part of law_. This is because the world itself is fundamental ambiguous (in some ways)/clear cut. Naturally not all ways of ambiguity are wanted. But you can be sure that with "code as law" the ways loopholes are abused will get worse in my opinion. I would ev…

Agreed. Although I don't think this is a bad idea, I think of the idea of perfectly defined laws and perfectly enforceable laws are terrifying. If every law on the books today were able to be perfectly enforced and perfectly monitored, our lives would be utterly miserable. I'm not going to argue that's a problem with laws vs. enforcement, but either way, our society is built around ambiguity and unequal enforcement o…

Do you have any examples where ambiguity is truly beneficial?

For all the examples I can think of, the most beneficial outcome is removing the law altogether.

Re: CatalaLang/catala: Programming language for law specification

#256

Earlier quoted context omitted.

This is a solved program in programming, you hover Child and hit "Go to definition". If it's ambiguous, the lawmakers would get a compile error instead of pushing a broken law. They may even have to pay us for consulting to fix it, depending on how esotrtic the language is, how nice is that!

Legal codes aren't meant to work like programming languages. It is impossible for a legislator to predict how the world will work when their law is applied, and it is highly unlikely that they will anticipate every situation and context in which their law will be invoked. Judges and juries and lawyers all exist to help us interpret the inexact legal code in a way that is (hopefully usually; but obviously not always)…

I would be happy if the law conforms to other existing laws, not future edge cases. The solution being proposed here would do that, while the existing system would not.

Re: CatalaLang/catala: Programming language for law specification

#257
post #211

This project seems to implicitly assume that a formally specified code of laws, where statutes can be interpreted largely mechanistically, is a good thing (and by extension, that the existing system of human interpreters with discretion and margins of error is a problem to be overcome). I don't disagree with this assumption outright, but it's certainly not obvious to me that it is correct, and the authors appear to p…

It fits quite will within French legal tradition. Remember that it was Montesquieu himself who said 'le juge n'est que la bouche de la loi'. When I was working on my law degree, I (being a programmer) was quite interested in this field, and (although my French wasn't/isn't great, so I didn't get to go as deep as I would have liked) I found a large community of such legalistic work in French speaking parts of the world. The professor at my university who was into this sort of stuff also seemed to lean towards that sphere of influence.

Re: CatalaLang/catala: Programming language for law specification

#260

Earlier quoted context omitted.

This is quite a misunderstanding of how the law actually works, probably enhanced by lots of lawyer TV emphasizing obscure wording tricks. In reality, laws are already written in a relatively normal language, and the words almost always mean exactly what they mean in plain English. The only problem is that the legal concepts they describe are themselves complex, and often they end up in a tangle of references to othe…

The words almost always mean almost exactly what they mean in plain English. That’s why the law is a huge mess. As a fun exercises, try to find how many definitions of “child” there are in the US law and how many times it’s used undefined.

It isnt a bug it is a feature. There is a point in law sometimes being a bit vague to create flexibility
Post reply on HN