19 comments

[ 3.2 ms ] story [ 52.3 ms ] thread
[flagged]
Huh I just finished a book by Jaron Lanier that described a hypothetical system literally just like this. Always fun to get a coincidence like this
> The aim is not to formalise or put into code all the law, because that would make no sense, but we are interested in the law that is already executed automatically, such as the calculation of social benefits, tax or unemployment.

Can anyone explain why it's believed this "would make no sense"?

We really need this in India. There are 53 million cases which are pending in courts, with over 180k cases open for more than 30 years (see https://en.wikipedia.org/wiki/Pendency_of_court_cases_in_Ind...). It is estimated that more than 300 years will be taken to dispose of all cases.

If law code is a repository: 1. Each trial should be encoded into a law. 2. If the trial is already covered sufficiently in the codebase, and both parties agree to it result. Then case is solved. 3. If not, the new judgement leads to a "pull request" into the codebase.

Catala is a fantastic project and a real attempt to bring computer science and law together. Which is not easy! That said, for practical projects in legaltech a modern pure Prolog system has a lot of useful properties. A project that attempts to use Scryer Prolog for this is VATmiral.
Obviously it would be great if this caught on, but it's not even widely understood/agreed on that read-time precision is a desirable quality in a legal system. This is something almost everyone here takes for granted; we want the interpreter or machine to give the same result for the same input. We want that property so we can know the run-time behavior during development.

There are judges and politicians in the US that advocate for various "interpretations" of laws including parts of the constitution, which are different from what the law literally says. In fact they refer to the literal meaning as the "literal interpretation", implying it is one of many valid interpretations, and casting doubt on the idea of language having a precise meaning. The crowd here knows that it is totally possible and often invaluable to work in languages with precise meaning. Anyways, in practice this means: all the steps happened for the law to get passed by the legislature including arguing about the exact text, and instead of enforcing it as written, the judiciary enforces some slightly different but similar law.

A technology like this necessarily concentrates power in the legislature, and takes it away from the judicial system. It concentrates legal power at write time and removes it from run/read time.

Do you really want, for example, the US constitution's write time understandings to be perpetuated forever? Their understanding of "citizen" did not include neither women nor black slaves, just to take one example. Another example is the famous question of "whether or not the right of a woman to abortion is a consitution-guaranteed federal right?" to which a bunch of very important folks gave an answer in 1973 but another bunch of very important folks gave a different answer in 2022.
Can't wait for lawmakers to get a red CI before merging ;)

Jokes aside, I'm trying to imagine what a pull request workflow would be for law making.

For example, there might be a test that checks that a law has adequate budget before applying it; or to get an error if it conflicts with another law.

Also (Italian here), I would be very happy to do "git blame" and discover who actually introduced a modification.

Yes, this would make us programmers so happy wouldn’t it :)
I suspect this works better outside of common law legislation.

  scope QualifiedEmployeeDiscount :

    definition qualified_employee_discount

      under condition is_property consequence

    equals

      if employee_discount >=

        customer_price \* gross_profit_percentage

      then customer_price \* gross_profit_percentage

      else employee_discount

It feels like the best of both worlds, a syntax that is new and strange to use while basically being the same old abc If Else programming language.

Not sure I'm seeing any law-specific features either. Maybe if there were some tokens like 'jurisdiction' or 'jurisprudence', but it seems like yet another programming language.

I wonder what people who speak the actual Catala have to say about this semantic appropriation. It would be very easy for creators just to google it first.
Yeah, I speak Catalan, and we call the language "català" in Catalan, I mean, I would say "Jo parlo català" to say "I speak Catalan".

I agree that maybe do a quick Google search would avoid this strange appropiation.

Serious question:

Is there any money to be made with this yet? (Jobs, Contracting, Projects, etc)

If not: What's the plan to get this to be used?

Reminds me of smart contracts
I've thought a lot about law-as-code, but my conclusion is always that bad actors will be given an advantage by being able to brute-force the code until they find a way to get away with whatever obviously-immoral-harmful stuff they want (imagine giga-corps spending a few millions on hardware to brute-force tax law - ROI probably even better than tunneling through mountains to grab stonks first..).

In the end it reminds me of a quote by Edmund Burke: "Bad men obey the law only out of fear of punishment; good men obey it out of conscience - and thus good men are often restrained by it, while bad men find ways around it."