Live data from Hacker News

CatalaLang/catala: Programming language for law specification

github.com

31–40 of 301 posts

Re: CatalaLang/catala: Programming language for law specification

#31

What problem does this solve? It appears to add precision where it's mostly already clear - perhaps it can enforce some kind of rigor... but then like the example given uses "fair market value" as a term which I'd expect to be the kind of thing that's in contention, rather than any of the actual "logic", and it doesn't help with that. The reason we have courts and lawyers is because of the need for interpretation bey…

>It appears to add precision where it's mostly already clear - perhaps it can enforce some kind of rigor...

I'd argue that the imprecision of law is more feature than bug. Rules as written have edge cases and, as long as the law is written in natural language, you can get a feel for their intent and that helps Judges decide what to do in those situations.

Re: CatalaLang/catala: Programming language for law specification

#32
post #9

Lawyer here. Oh, this again. I suppose this looks relatively harmless, but I'm always wary of "law is like computer code." The impulse to think this can strongly solve any real problem in the law is intuitively attractive, but I strongly predict this mostly never happens; it's the law's job to be intensely practical in the face of hard-edged "computer-like" rules. If anything, you get goofy confusion about what thing…

I agree with you, but this is literally what those in civil law jurisdictions believe.

There are some areas where automating things can be effective – e.g. tax systems.

Re: CatalaLang/catala: Programming language for law specification

#37
It would be interesting to also "weave" in test cases. The workface of logic statements is exactly where bugs are introduced.

Especially around temporal events, and that goes to formal models (and even more bugs).

Typically, if there is a rule around height, there would be at least three tests¹: one taller, one equal to, and one shorter. (Without types or something, then also negative, null, and max/min boundary inputs too.)

So you could have tests based on timelines, like

  Given a regulation is passed in 3 months
  And parties are prevented from exercising B
  But "17 tons" of waste are dumped anyway
  And ...
  When ...
  Then ...
Having a model checker integrated would be a boon. Maybe we could have DevOps-like pipelines in formally-verified legislature (or at least the encoding of language to code).

¹ https://en.m.wikipedia.org/wiki/Equivalence_partitioning

Re: CatalaLang/catala: Programming language for law specification

#38
post #9

Lawyer here. Oh, this again. I suppose this looks relatively harmless, but I'm always wary of "law is like computer code." The impulse to think this can strongly solve any real problem in the law is intuitively attractive, but I strongly predict this mostly never happens; it's the law's job to be intensely practical in the face of hard-edged "computer-like" rules. If anything, you get goofy confusion about what thing…

I like to turn this argument around to see how absurd it is.

Why not just take the existing law, and have a machine execute it in the style of a computer program?

We wouldn’t need judges juries or lawyers. You’d just type the specifics of your case and any supporting documents/evidence into the computer and a verdict would pop out.

Of course, the system could be used for other stuff too, like checking building code compliance or engineering soundness, signing off on military and police action, setting the executive branch’s priorities, and so on.

Re: CatalaLang/catala: Programming language for law specification

#40
post #26

Earlier quoted context omitted.

Most contracts are intended to be enforceable by law, as far as I know. Which kind of non-enforceable contracts did you have in mind?

Software-interface contracts generally aren’t (cf. Design by Contract). The parent is correct insofar as the use of the word “contract” is not limited to contracts as defined by law.

Right, I mean, I've heard this use and I think it's kind of silly.

It's like calling a hopefully-completed-circuit in some device an "electric contract" or something like that.

Post reply on HN