[HN Gopher] CatalaLang/catala: Programming language for law spec...
       ___________________________________________________________________
        
       CatalaLang/catala: Programming language for law specification
        
       Author : gorenb
       Score  : 272 points
       Date   : 2023-09-17 16:34 UTC (6 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | pvaldes wrote:
       | "We" will interpret the law for you and the judges, and "we" are
       | not suspicious at all of having a hidden agenda to replace "the
       | law" by "how we see the law" to benefit ourselves.
       | 
       | Is this a joke?
        
       | EPWN3D wrote:
       | I don't think there's much of a problem with actually reasoning
       | about a law's text that a computer can help solve. The
       | complicated bit is weighing equities, which still requires humans
       | and lawyers.
        
         | quickthrower2 wrote:
         | Absolutely. Although the clarity by creating algorithms from
         | tax tables can be helpful, and sometimes the wording seems
         | ambiguous. Although you probably also need lots and lots of
         | examples. (It is as if you need unit tests!)
        
         | btilly wrote:
         | I think you meant, "...humans, lawyers, and bribes."
         | 
         | No, I don't have a lot of faith in our legal system. Why do you
         | ask?
        
       | dazzaji wrote:
       | I'm really interested in this project as another way to
       | computationally express and use law. For more color on the
       | project, here is a demo and discussion "Idea Flow" session I did
       | with the project leads: https://law.mit.edu/pub/ideaflow8
        
       | Supply5411 wrote:
       | Very cool. Pessimistically, I think that having a clear,
       | understandable view of legal text so that people can navigate the
       | law safely is against a lot of entrenched interests.
        
         | [deleted]
        
         | tgv wrote:
         | I don't think it's that. It's hard to write legal texts, and
         | sometimes it's better to be vague, so the courts have some
         | freedom when establishing jurisprudence.
         | 
         | Treaties can be written with vague wording to allow parties to
         | sign it, even if there isn't 100% agreement. That's an old
         | practice.
        
           | Kretinsky wrote:
           | On the contrary, it's much better to have very clear text,
           | otherwise it will turn against the citizen.
           | 
           | Imagine that you have an income tax where "income" isn't
           | clearly defined. Someone will end up with an audit and a
           | lawsuit from the tax office because their definition will be,
           | of course, extensive (every income, including non-realized
           | capital gains) whereas most citizens would only consider
           | salaries.
           | 
           | In the end, you create legal uncertainty, and give courts way
           | too much power.
           | 
           | For the record, I used to work for my country's government,
           | and had to evaluate some laws in making that were written in
           | an abstruse way. When I asked why, the civil servant told me
           | that it was so "they could pick the most favorable meaning in
           | the case of a lawsuit".
        
             | bjt wrote:
             | It's a balance. If you get too specific then your laws
             | quickly become outdated as technology and society evolve.
             | Or you miss corner cases by not enumerating every little
             | scenario.
             | 
             | So there are different tiers to deal with this.
             | 
             | - Constitution - Very abstract and very rarely changed.
             | 
             | - Statute - Sometimes abstract, sometimes specific.
             | 
             | - Administrative rules. Very technical but still intended
             | for broad application.
             | 
             | - Individual court cases. Can be hyper specific.
        
           | sixo wrote:
           | It is probably better to be intentionally and clearly unclear
           | when you want to be, and clearly algorithmic when you want
           | that, than just stir it all together in the name of judicial
           | discretion.
        
         | Guvante wrote:
         | I don't think the example given increases legibility.
         | 
         | Programming tends to use less understandable but more precise
         | verbiage in general.
        
         | lo_zamoyski wrote:
         | That's far too reductive. The law is abstract, and still needs
         | to be interpreted and prudentially applied to specific
         | situations, and you cannot capture all of that in the law a
         | priori. Furthermore, having a computer crunch through a bunch
         | of predicates is easy compared to getting the facts expressed
         | in a form that is crunchable. So for specific and narrow
         | applications where such representations are not costly to
         | produce or already exist, such an application of computational
         | law is feasible. But broadly? No.
         | 
         | And then there's the distinction between _lex_ and _ius_ that I
         | think needs to be considered in this context.
        
       | cphoover wrote:
       | This is interesting, and not to criticize, but I wonder if
       | transformer model's accuracy in interpreting law will obviate the
       | need for something like this.
       | 
       | It would be interesting to train Large Language Transformer
       | Models to generate this code for you based on the text in the
       | laws. This way you have a deterministic testable output, without
       | risk of hallucinations.
        
         | 0xDEF wrote:
         | Even LLMs would be better off with a clear unambiguous syntax
         | to define human laws and rules.
        
       | lockedinspace wrote:
       | Thought this was realated to the Catalan western romance
       | language. Naming could confuse some Spanish and French users.
        
         | [deleted]
        
       | dathinab wrote:
       | 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 even go as far that some many laws should be more focused
       | on what should be upheld then the details how (which is
       | fundamental less clear cut/more ambiguous).
        
       | EdwardCoffin wrote:
       | Something like this got passing mention in Greg Bear's [1] book
       | _Moving Mars_ (1993) [2], under the name _Legal Logic_. The
       | (human) Martians used it with AI assistance to formulate
       | legislation for their newly independent society.
       | 
       | For those who don't know, Greg Bear was a well-known SF author
       | who died less than a year ago. His passing was discussed here at
       | the time [3] [4].
       | 
       | He was one of the authors that influenced my youth a great deal,
       | and I particularly remember this aspect of Moving Mars as
       | catching my imagination, so will be interested to read what
       | Catala has to offer.
       | 
       | [1] https://en.wikipedia.org/wiki/Greg_Bear
       | 
       | [2] https://en.wikipedia.org/wiki/Moving_Mars
       | 
       | [3] https://news.ycombinator.com/item?id=33679668
       | 
       | [4] https://news.ycombinator.com/item?id=33675708
        
       | blagund wrote:
       | My hunch is, in any sufficiently large rule set, there will be
       | inconsistencies. Handwaily think Godel, or just the need for
       | bounded domains in DDD.
       | 
       | Humans (or, well, AI) is needed to cope with inconsistencies.
       | 
       | That said, pointing out the fact of existence of inconsistencies
       | could be very valuable. But a system needs to embrace them, not
       | fight them.
        
         | drdeca wrote:
         | Godel's theorems don't imply inconsistency for all large
         | systems (unless "large" is taken to mean something strange),
         | just for systems which are both not super-weak in what they can
         | say, and _complete_ (or if they have their own consistency as a
         | theorem).
         | 
         | I don't think Godel's theorems particularly support the claim
         | you're making.
         | 
         | In fact, here is an argument that a consistent rule-set (either
         | can be extended to something consistent and complete, or ) can
         | be extended to be made arbitrarily large and consistent:
         | 
         | take a ruleset which is consistent, but for which there is
         | something for which it has no prescription one way or the other
         | (neither explicitly nor implied collectively by other rules)
         | (I.e. "not complete"). Then, add a rule specifying that thing
         | and nothing else which isn't implied by that thing. This will
         | be consistent, as if it were not, then the negation of the rule
         | added would have already been an implication.
         | 
         | This will either yield a larger ruleset of the same kind
         | (consistent and incomplete), or it will yield one which is
         | consistent and complete. Godel's theorems show that if the
         | ruleset is an axiom system which is sufficiently expressive
         | (e.g. contains Peano arithmetic) then the latter cannot be the
         | result. So in this case, there are arbitrarily large extensions
         | of the rule-set.
         | 
         | If it isn't an axiom system, or is one for a rather weak
         | system, then the "the result is a consistent and complete
         | system" option, well, why would you want it to be larger?
         | 
         | Edit: perhaps what you are calling "inconsistencies" are what I
         | would just call "exceptions"/"exceptional cases"?
         | 
         | To my mind, "embracing an inconsistency" doesn't seem to make
         | much sense in the case of law? Something has to be what
         | actually happens. We (whether fortunately or unfortunately)
         | cannot bring an actual contradiction into reality.
         | 
         | Well, I suppose if one takes a sub-truth(not sure if this is
         | the right terminology? I mean the opposite of super-truth)
         | approach to vague statements, one might say that a somewhat-
         | bald man causes the statement "that man is bald, and also that
         | man is not bald" to be true (and also false), and as such
         | "bring a contradiction into reality", but that's not what I
         | mean by the phrase.
         | 
         | I mean there is no full precise-ification of any statement,
         | which we can cause to be simultaneously true and false irl.
         | 
         | Those acting as agents of the law must behave in some
         | particular way.
         | 
         | When legal requirements contradict, people will not satisfy
         | both of them. Perhaps one will be considered to take priority.
         | Perhaps a compromise position between the requirements will be
         | sought. Perhaps it will be left to the judgement of those
         | following it in a case-by-case basis.
         | 
         | But in none of these cases is a contradiction implemented. Can
         | they really be said to be embracing the contradiction?
         | 
         | Upon writing this edit I realize that I'm probably
         | misinterpreting that part of your comment. I suppose the thing
         | you are saying to embrace is not the individual contradictions
         | themselves, so much as the system's rules-as-written _having_
         | contradictions, and therefore the necessity of dealing with
         | such contradictions when implementing the rules, as the
         | scenarios to which the contradictory statements apply, occur.
        
           | kachnuv_ocasek wrote:
           | I think parent might have been referring to the inconsistency
           | that Godel noticed in the US Constitution when applying for
           | citizenship.
        
       | yieldcrv wrote:
       | without formal training, one key thing I picked up is that most
       | public understanding of legal concepts diverges from court
       | understanding because law follows _logical_ and /or gates
       | 
       | so "and" isnt a list of accepted criteria, it is a list of things
       | that must be simultaneously satisfied
       | 
       | but its only using logical gates _most_ of the time
       | 
       | this is a good step in showing that. not a panacea but a good
       | step!
        
       | codedokode wrote:
       | Laws are often written in most vague language to allow wide
       | interpretation, especially laws regarding treason, communism,
       | foreign agents, anti-war speeches and such things. Programming
       | language won't help here.
        
         | anticristi wrote:
         | I'm also somewhat skeptical. How would a program deduce that
         | "cookies and similar technologies" will mean localStorage,
         | sessionStorage, IndexedDB, etc. Remember that the law was
         | written well before some of these technologies even existed.
        
       | jrm4 wrote:
       | 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 things "are?" My
       | go-to on this is always the "smart contract" -- which can be
       | useful little bits of automated robot money moving code, but
       | emphatically are neither "smart" nor "contracts."
        
         | giltho wrote:
         | I can assure you that the person who wrote this is very well
         | aware of the subtleties involved with formalising the law. Law
         | + Programming is an active research field
         | (https://popl23.sigplan.org/home/prolala-2023), and it is
         | _very_ far away from anything like smart contracts, it is full
         | of brilliant people who have no pretension of replacing the law
         | with computers, but simply be helpers where they can.
        
           | jrm4 wrote:
           | Sure, I think I posted my response not because "it could
           | never solve ANY problems," but instead "way too many non-
           | lawyers, especially techy-non-lawyers, have the deeply
           | misplaced idea that is a very important, perhaps THE most
           | important, problem to solve in the law." It's just not very
           | high on the list at all.
        
             | sfvisser wrote:
             | > It's just not very high on the list at all.
             | 
             | Maybe not for lawyers, no. But as a citizen I'm expected to
             | comply with the law, with many many laws. It'd actually be
             | nice if law was slightly more formally verifiable, so it
             | would be easier for me to understand what to comply with.
             | 
             | Being able to break down clauses into more logical normal
             | forms would probably greatly enhance the possibility of
             | compliance.
        
           | gorenb wrote:
           | I agree. The idea of logically representing law isn't the
           | same as replacing law with computers. That's why I even
           | posted this.
        
         | andrewaylett wrote:
         | This is a problem, but not one that Catala suffers from on a
         | first reading.
         | 
         | Some elements of law _are_ amenable to translation into source
         | code, and indeed anyone working in fintech will probably have
         | done that at some point. If the law gives a threshold for a tax
         | allowance, for example, you need to encode that requirement _in
         | accordance with the law_. Being able to mark up the text of
         | each regulation should make it much easier to be confident you
         | 've not missed anything.
         | 
         | Trying to write non-financial regulation as code is pretty much
         | doomed to failure. But to the extent that tax or benefits
         | regulations set out numbers that we have to translate into code
         | _anyway_ , it's good to have that code be verifiable against
         | the specific regulatory text.
        
         | btown wrote:
         | Law is like computer code, if:
         | 
         | - your compiler was AI-complete and adversarial and hated you
         | 
         | - your compiler was also not bound by any hard rules and could
         | emit undefined behavior at any time
         | 
         | - your job scheduling and orchestration system was AI-complete
         | and adversarial and _actively_ hated you
         | 
         | - your runtime library had 50 different incompatible canonical
         | implementations and can only be run by being forked by
         | publicly-elected officials who blindly merge patches from bad-
         | faith lobbyists
         | 
         | - the documentation for any of those 50 runtime libraries is
         | paywalled _per page_ behind https://pacer.uscourts.gov/pacer-
         | pricing-how-fees-work _if you 're lucky_
         | 
         | - the IDE is Microsoft Word, and the linter is a summer
         | associate on their tenth cup of coffee
         | 
         | - you will inevitably get a non-technical client who thinks
         | that the more times you have "notwithstanding the foregoing" in
         | your code the more you can call yourself Web Scale
        
         | [deleted]
        
         | Rochus wrote:
         | > _Oh, this again. I suppose this looks relatively harmless,
         | but I 'm always wary of "law is like computer code."_
         | 
         | "To a man with a hammer, everything looks like a nail."
         | (Twain?)
         | 
         | Hasn't Cyc impressively demonstrated just how incredibly
         | difficult and costly it is to formalize even the most basic
         | matters of daily life?
         | 
         | There already was a discussion two years ago:
         | https://news.ycombinator.com/item?id=27059899
        
           | mdaniel wrote:
           | > Hasn't Cyc impressively demonstrated just how incredibly
           | difficult and costly it is to formalize even the most basic
           | matters of daily life?
           | 
           | I would offer that the "cost/benefit" analysis for such a
           | formalism exists on at least two axes: the concept domain
           | which one is attempting to formalize, and the benefit (and/or
           | size of consumers) of any such working system
           | 
           | I can wholly understand that trying to translate the entirety
           | of English into a formal logic system sounds overwhelming.
           | But to side with a sibling commenter, why not at least start
           | with the tax code which is a personal pain point, has
           | (presumably) a correct outcome for some cases, and is mostly
           | algorithms-in-English
           | 
           | And then, for the consumer side: ok, if I snapped my fingers
           | and Cyc existed and worked I struggle to think how exactly my
           | life would change. If the formally-specified tax code existed
           | and worked I wouldn't have to rage-upvote almost every
           | comment on the _annual tax hatred thread_
           | 
           | I would even offer that an incomplete version could still be
           | useful if one left "fuzzy" variables in the corpus, and said
           | "welp, we can't define what a $Person is because of the
           | hundreds of years of precedent, so you'll need an actual
           | Judge for that". I don't meant to say that 50% of the corpus
           | can be undefined variables, that's just silly, but I'd hope
           | the tax code isn't built upon 50% undefined behavior, even if
           | accountants want you to think it is
        
             | Rochus wrote:
             | > _why not at least start with the tax code_
             | 
             | There have been many such attempts (e.g. NKRL by Zarri et
             | al., also funded by EU). There are even societies that have
             | been dealing with such issues for many decades (e.g.
             | http://www.iaail.org). The formalization of law and
             | language is only one of the issues. Like many previous
             | attempts, this one suffers from the fuzziness of human
             | language (even in the case of tax code). Fuzziness is not a
             | drawback; it is what makes it possible to communicate
             | efficiently in the first place. In order for us to
             | communicate effectively, we need an enormous amount of
             | tacit knowledge about our environment that our culture and
             | life experience brings. If one tries to formalize the
             | language, as in the present approach, one must also take
             | this knowledge into account, down to the last detail (an
             | "upper ontology" is by far not sufficient for this, and Cyc
             | after decades is still not finished). And the tacit
             | knowledge and also the moral valuation of the same change
             | over time. And there are things like
             | https://en.wikipedia.org/wiki/Sorites_paradox which stand
             | in the way of a complete formalization. Lenat's 1990 book
             | addressed many of the issues, but also his more recent
             | talks are very informative where he demonstrates how they
             | had to extend the Cyc representation language to cope with
             | the problem, and why e.g. RDF triples are not enough.
        
         | lemper wrote:
         | how many times have you fought in court to argue about "the
         | spirit of the law"? I, for one, don't really care about this
         | lang or "law is computer code" thing. just wanted to know
         | lawyers life, I guess.
        
         | sealeck wrote:
         | 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.
        
         | hedora wrote:
         | 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.
        
           | jraph wrote:
           | Not a lawyer. My thinking is very likely naive as I have no
           | experience in this matter.
           | 
           | I see two potential issues:
           | 
           | - Picking evidences. "Evaluating" the law might need access
           | to all the possible evidences that could exist, but that
           | would certainly never be true, so you'd need someone to know
           | which evidences to present. You probably cannot rely on some
           | interactive process asking you such and such evidences
           | because it would be presenting evidence that would trigger
           | evaluations of chunks of laws. I would guess a lawyer with
           | good knowledge of the law would probably be needed for this.
           | 
           | - Setting precedents. Wouldn't the "automated" law evaluation
           | run into unprecedented cases all the time? You'd need someone
           | to constantly issue a verdict on unforeseen situations all
           | the time, and I guess you'd need a judge for this.
           | 
           | Maybe it could work on many "trivial" cases though.
        
           | 0thgen wrote:
           | Some people have argued that the fuzziness of the legal
           | system can be a good feature for some reason, but you could
           | always have a machine execute the law and a human make the
           | final call. So you wouldn't need judges, juries, or lawyers,
           | but you would need a team of legal shamans that sign off on
           | verdicts
        
             | hedora wrote:
             | The problem isn't checking the computer's output.
             | 
             | It is that the law would need to encode all the stuff I
             | said, so it would need to be nuanced enough to replace all
             | engineering, leadership and administration roles. (And also
             | anything involving ethics.)
        
         | diogenes4 wrote:
         | > If anything, you get goofy confusion about what things "are?"
         | My go-to on this is always the "smart contract" -- which can be
         | useful little bits of automated robot money moving code, but
         | emphatically are neither "smart" nor "contracts."
         | 
         | They are contracts--just not legal contracts. One of many types
         | of contracts in the world that are not legal constructs.
        
           | Angostura wrote:
           | 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?
        
             | diogenes4 wrote:
             | Social contracts? Personal contracts? God-sworn oaths?
             | Covenants? The legal system is just a small corner of the
             | universe.
        
             | layer8 wrote:
             | 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.
        
               | jrm4 wrote:
               | 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.
        
               | layer8 wrote:
               | It's a contract (mutual agreement) between the client
               | code and the implementation of the interface. The
               | implementation fulfills certain obligations provided the
               | client code fulfills certain other obligations. The
               | interface defines what those obligations are. If the
               | client code fails to meet its obligations, then the
               | implementation of the interface isn't bound to fulfill
               | its obligations anymore either. The point is to think in
               | terms of two parties, where the developer who is either
               | using or implementing an interface takes on the role of
               | one of the two contractual parties.
        
           | pjot wrote:
           | > They are contracts--just not legal contracts
           | 
           | I think this proves op's point of goofy confusion for what
           | things are.
        
             | diogenes4 wrote:
             | Like, what language is? I'm not sure i get the point.
        
       | Horffupolde wrote:
       | How is this different from Prolog?
        
       | RedNifre wrote:
       | Will it help?
       | 
       | On the one hand, I think it would be fantastic, if you had
       | automated tests for the law. For example, when German politicians
       | introduced the "hacker law", you could have pointed out that
       | "This new law would break the 'security researchers need to be
       | allowed to do penetration testing' test".
       | 
       | On the other hand, "Brexit is in conflict with the Good Friday
       | Agreement, we need a solution for Nothern Ireland." was known
       | without machine readable laws and test, but politicians ignored
       | it anyway.
       | 
       | Maybe what's needed is a law that outlaws test-breaking laws and
       | requires politicians to fix the tests first, but I bet that would
       | just result in a lot of "commented" tests.
        
         | [deleted]
        
       | gandalfgeek wrote:
       | (self plug) They published a paper describing the language
       | https://hal.inria.fr/hal-03159939, and here's a short video
       | summary of it: https://youtu.be/OiaFTFSAa1I
        
       | nologic01 wrote:
       | This seems like a worthy project but I think its landing page
       | should define the scope of what it aims to do in more concrete
       | terms. Otherwise it runs the risk of being seen as overambitious
       | and open ended without a concrete problem to solve.
       | 
       | E.g. its not clear if there is an explicit or implicit ontology
       | against which the validity of any codification can be checked.
        
       | WanderPanda wrote:
       | Would be so funny if all the compute moves from AI to finding
       | loopholes in the programmatically defined law.
        
         | gorenb wrote:
         | "haha! actually, if you give it this input, the program
         | crashes! i can finally steal pillows from the bookstore!"
        
       | sesm wrote:
       | This project is doing code -> text, right?
       | 
       | But then, the first line of description in Github says:
       | 
       | > Catala is a domain-specific language for deriving faithful-by-
       | construction algorithms from legislative texts.
       | 
       | This reads like 'text -> code', which is the opposite of what
       | this project seems to be doing.
        
       | ThePowerOfFuet wrote:
       | As someone who speaks Catalan, I find the name collision with the
       | language referred to in the article most unfortunate.
        
         | andrewnicolalde wrote:
         | Why unfortunate? Also, I love your username. I think many of us
         | could have guessed that you spoke Catalan from that alone ;).
        
       | plumeria wrote:
       | The Catalan language name is written Catala.
        
         | entwife wrote:
         | I also came to comment that the software's name might cause
         | confusion with the human language, Catalan.
        
         | melenaboija wrote:
         | It is named after a French guy called Pierre Catala, not the
         | language. Probably the name comes from the language but
         | according to the documentation does not seem to be with acute
         | accent.
         | 
         | > The language is named after Pierre Catala, a professor of law
         | who pionneered the French legaltech by creating a computer
         | database of law cases, Juris-Data. The research group that he
         | led in the late 1960s, the Centre d'etudes et de traitement de
         | l'information juridique (CETIJ), has also influenced the
         | creation by state conselor Lucien Mehl of the Centre de
         | recherches et developpement en informatique juridique (CENIJ),
         | which eventually transformed into the entity managing the
         | LegiFrance website, acting as the public service of legislative
         | documentation.
        
           | Anduia wrote:
           | Their research group is called 'Prosecco', and another of
           | their projects at Inria is 'Squirrel'... Another one is F*
           | (pronounced F star).
           | 
           | I imagine that they find their naming choices amusing.
        
           | racked wrote:
           | The commenter was maybe pointing out a naming conflict.
        
             | [deleted]
        
           | pxc wrote:
           | > the documentation does not seem to be with acute accent.
           | 
           | 'a' has a grave accent, not an acute accent.
        
             | melenaboija wrote:
             | Yups right, sorry :(
        
               | pxc wrote:
               | I just figured that since you cared to name the specific
               | accent character (most people probably wouldn't!), you'd
               | care about the mixup too. :)
        
       | 29athrowaway wrote:
       | I think having a "linter" for laws can be beneficial. It can help
       | producing laws that are easier to read and understand.
       | 
       | Having a "compiler" for laws can help identifying conflicts
       | between different codes of law. e.g.: Imagine having a compiler
       | error when a law is unconstitutional from a logical standpoint.
       | 
       | But verifying the "business logic" (e.g.: what is the spirit or
       | intent of the law?) of the law will remain a human intelligence
       | task.
        
       | llsf wrote:
       | Can we use it to compute taxes ?
        
       | version_five wrote:
       | 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 beyond just writing good logic, so I don't see how
       | this can really do anything. Or is it for something else?
        
         | 0thgen wrote:
         | I suppose a formalized legal language could:
         | 
         | - help in quickly testing whether newly drafted laws contradict
         | existing laws(without needing to memorize the existing legal
         | code)
         | 
         | - check for redundancies
         | 
         | - checking whether removing one law affects any others
         | 
         | - statistically analyze legal systems in different countries
         | 
         | Assuming any of those are important issues in law. I'm not sure
        
         | jacoblambda wrote:
         | Catala still produces plaintext legal documents at the end of
         | the day but can be seen as a markup language for those
         | documents. But because that markup language is a whole lot more
         | precise than the legal text itself, it can be a bit more
         | versatile.
         | 
         | Examples of how this could be useful:
         | 
         | - Reducing the overhead for maintaining a list of semantic
         | translations of that legal code into other languages. Of course
         | the official language is the only one that is "legal" but the
         | other translations should be close enough to effectively
         | express the nuance provided the language outputs are maintained
         | by people who can actually speak those languages.
         | 
         | - Producing machine executable proof or simulation code. This
         | could be used for "fuzzing" the legal code to identify
         | loopholes or unintended outcomes so that legislators can then
         | propose improved terms to avoid those issues. This is by no
         | means "making code law" but it provides an additional tool for
         | understanding the law and how the many different parts of the
         | legal code interact with each other.
         | 
         | - Adding on to the previous example, sim code could be
         | integrated into complex models for simulating the impact of
         | legal changes on the economy at large or specific segments.
         | 
         | - Finance related code can be used to generate a tool or API
         | for validating tax, accounting, and compliance documents (as a
         | first pass to catch errors early and reduce overhead) as well
         | as to even prepare some of those documents. These tools often
         | already exist but they are one or more steps removed from the
         | actual legal definition which increases the risk of error as
         | well as the overhead of maintaining them (which can potentially
         | encourage rent seeking behavior by commercial providers of
         | these tools).
         | 
         | France actually is already doing this to a reasonable degree
         | albeit the "codified" version is based on the law rather than
         | the codified version producing plaintext law. The DGFiP [1]
         | maintains a gitlab organisation [2] that includes both Catala
         | and MLang [3] representations of different parts of the french
         | legal code for exactly these purposes.
         | 
         | 1.
         | https://fr.wikipedia.org/wiki/Direction_g%C3%A9n%C3%A9rale_d...
         | 
         | 2. https://gitlab.adullact.net/dgfip
         | 
         | 3. https://github.com/MLanguage/mlang
        
           | retrac wrote:
           | > Of course the official language is the only one that is
           | "legal"
           | 
           | If only! Here in Canada there are two official languages. All
           | laws are drafted, and enacted, in both English and French.
           | Both versions are equally valid, equally binding. And,
           | sometimes, they don't say the same thing.
        
             | jacoblambda wrote:
             | Yeah that's common in a number of other countries as well.
             | I should have probably said "the official languages are the
             | only ones that are legal" instead. In which case a tool
             | like this could be useful for helping maintain that
             | equivalence.
        
         | parineum wrote:
         | >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.
        
         | [deleted]
        
       | kstrauser wrote:
       | I think what I'd rather see is a standardize test suite format
       | for laws that spells out the intentions.
       | 
       | Once I lived in a state that proposed a very simple anti-child
       | porn law with good intent, but it was _too_ simple. It read sort
       | of like  "anyone sending explicit pictures of minors from a cell
       | phone will be guilty of conveying child porn". It was written in
       | the proper legal jargon, but wasn't a whole lot more detailed
       | than that. I called the sponsor of the bill and asked if that
       | meant if my hypothetical daughter sent a naked picture of herself
       | to her boyfriend, then wouldn't she be a felon under his new law?
       | He had an "oh, crap, that's not what I meant!" reaction and ended
       | up withdrawing the bill so it could be re-written. (Aside: I felt
       | pretty good about that. Props to the legislator for being quick
       | to understand and respond appropriately!)
       | 
       | Imagine if that were handled like program code, with a test like:
       | 
       | * This law does not apply to minors sending pictures of
       | themselves.
       | 
       | That would do a few big things:
       | 
       | It would make legislators be clear about what they mean. "Oh,
       | we'd never use this online child safety law to ban pro-trans
       | content from the Internet!" "Great! Let's add that as a test case
       | then." I confess that this is a deal breaker: politicians don't
       | like being pinned down like that.
       | 
       | It would probably make it easier to write laws that reflect those
       | intentions. "Hey, that law as written would apply to a 15 year
       | old sexting her boyfriend! The code doesn't pass the tests."
       | 
       | Future courts could use that to evaluate a law's intent. "The
       | wording _says_ it applies to 15 year olds sending selfies, but
       | the tests are explicit that it wasn 't meant to. Not guilty."
       | 
       | I'm sure this couldn't happen for a hundred reasons, but I can
       | dream.
        
         | jrm4 wrote:
         | I partly like this idea in theory, but believe it is literally
         | 100% impossible to come up with a better "test suite" than "the
         | actual court system?"
        
           | alexashka wrote:
           | If it was 'literally 100% impossible', you wouldn't need to
           | believe it, you'd _know_ it to be so.
           | 
           | As for test suites and courts - the two are complementary so
           | there's need to compare them to one another.
        
           | kstrauser wrote:
           | The courts have to evaluate what they think the law's
           | drafters meant: Yeah, it _says_ this, but it 's obvious the
           | legislators didn't _mean_ for it to be read that way. It 'd
           | be nice if there were footnotes that expounded on what the
           | authors were trying to accomplish to help courts interpret
           | the laws.
        
             | bjt wrote:
             | At least in the US, it's not the drafters' intent that
             | matters, but the intent of the legislators who voted on it.
             | (Legislators actually have lawmaking power. Drafters are
             | usually unelected staff or even lobbyists.)
             | 
             | When a statute is ambiguous, courts do sometimes look at
             | the congressional record (eg floor debates) to determine
             | intent.
        
               | istjohn wrote:
               | To add on that, there are several competing theories of
               | statutory interpretation in US legal thought. It's a very
               | complex subject. https://en.m.wikipedia.org/wiki/Statutor
               | y_interpretation#Sta...
        
           | ambyra wrote:
           | Yeah, there's no way that a modern computer could outdo the
           | logical accuracy and processing power of our 300 year old
           | legal system. Court rooms and arguing and paperwork, much
           | more efficient than silicon.
        
             | cutler wrote:
             | With developments in AI I doubt that will stand the test of
             | time.
        
             | RecycledEle wrote:
             | Courts and lawyers are efficient at generating large pay
             | checks for lawyers.
             | 
             | They are horrible at everything else.
        
         | victorbjorklund wrote:
         | Mindblown. I went to law school and now work as a developer but
         | never thought about it. Writing tests for laws should totally
         | be a thing.
        
           | mschuster91 wrote:
           | > Writing tests for laws should totally be a thing.
           | 
           | It is a thing already. In both the US and Germany it is
           | common for lawmakers and regulators (e.g. the FCC which was
           | here on HN to solicit comments a few days ago) to provide
           | drafts of laws and regulations to interest groups so that
           | these can raise issues they find.
        
           | mertd wrote:
           | Also free agent simulations for discovering unintended
           | consequences
        
         | codesnik wrote:
         | law tests would be good, though they probably have to be
         | "evaled" via the same mechanism which would apply them.
         | Meaning, courts :\
         | 
         | I personally would be happy if any country would attach
         | rationale for the law to the law itself. And possibly some KPI
         | to see if it works. So the law could be reevaluated later, to
         | see if it works at all, or maybe counterproductive, or maybe
         | some major actual application of the law is not why it was
         | introduced.
        
         | lolinder wrote:
         | 99% of the work is in coming up with the edge cases, and in law
         | the most common thing to do with edge cases is call them out
         | explicitly. I imagine the legislator went back and added a
         | clause to the law that specified "it shall not be considered a
         | violation of this section for a minor to send photos of
         | themselves".
         | 
         | Laws don't need to be computer-executable, they're about intent
         | and the interpretation thereof, so the test suite itself is
         | really part of the law and may as well just be embedded in it.
        
         | phillipcarter wrote:
         | I think for something like this to be effective, you need the
         | actual intent encoded correctly (so this use case wouldn't have
         | been solved), and lawmakers acting in good faith (i.e., not
         | drafting legislation that's intentionally vague such that it
         | can cast a wide net and force people to use the courts to
         | dispute things).
        
           | irundebian wrote:
           | Intent could be derived by parliament debates minutes.
        
             | phillipcarter wrote:
             | Yeah, uhh, having seen some of the hearings in recent state
             | legislatures regarding abortion, that's some flawed
             | thinking. Lawmakers are intentionally vague throughout the
             | entire process sometimes.
        
       | dang wrote:
       | Related:
       | 
       |  _Catala: a programming language for socio-fiscal legislative
       | literate programming_ -
       | https://news.ycombinator.com/item?id=24948342 - Oct 2020 (37
       | comments)
        
       | cpeterso wrote:
       | Interesting that their "money" type doesn't allow fractional
       | cents or track the currency. And the only collection type is a
       | fixed-sized list. I can imagine a lot of other useful base types
       | that would be useful for laws about the real world, such as
       | physical units like meters.
       | 
       | https://catala-lang.org/en/examples/tutorial#The%20Catala%20...
        
       | brap wrote:
       | It's good that they made it not turing complete but they should
       | probably also force an upper bound on law complexity
        
         | canadianfella wrote:
         | [dead]
        
       | t2b1 wrote:
       | Completely unrelated to Catalan (Catala), the language spoken in
       | Catalonia (Catalunya). I think if someone wants to google a
       | question about this, "catala language beginner hello world" won't
       | help them much.
        
         | medstrom wrote:
         | I can only conclude that they didn't know that. It's such a bad
         | name; we won't even be able to google "catala lang" because ...
         | Catala is also a "lang"!
         | 
         | Imagine someone creates a programming language called Russian.
         | Good luck googling "russian lang".
        
           | _visgean wrote:
           | given that the major contributors seems to be from paris /
           | bordeaux i am pretty sure they know about catalan.
        
             | skissane wrote:
             | > given that the major contributors seems to be from paris
             | / bordeaux i am pretty sure they know about catalan.
             | 
             | Yes, but did they know that _catala_ is Catalan for
             | Catalan? In French, as in English, it is _catalan_ instead
             | (well, English always capitalises it, French doesn 't, but
             | the spelling is identical).
        
         | hiq wrote:
         | You'd write "catalalang" just like you write "golang", if you
         | really need. I think in most context, search engines would be
         | able to infer the context.
        
         | [deleted]
        
         | [deleted]
        
       | thargor90 wrote:
       | Too have fun with laws/rule systems take a look at nomic
        
         | mdaniel wrote:
         | linky-linky: https://en.wikipedia.org/wiki/Nomic
         | 
         | an example of the game rules:
         | https://agoranomic.org/ruleset/slr.txt
         | 
         | In the context of this thread, I'm sad that the game rules
         | don't appear to be in a constrained vocabulary
        
         | [deleted]
        
       | swayvil wrote:
       | A software for people. For dictating human behavior. Is that what
       | we're looking at here?
        
       | kderbyma wrote:
       | Started something like this years ago with a company that ended
       | up pivoting to a slightly different direction after a while. glad
       | to see something in open source space.
        
       | simplify wrote:
       | Also see Logical English, a "Programming Language for Law and
       | Ethics"
       | 
       | https://virtuale.unibo.it/pluginfile.php/1273247/mod_unibore...
        
       | qaq wrote:
       | Naming is hard Catala is cardsharper (cheat) in russian.
        
       | lightedman wrote:
       | No way would this ever be a good idea. Language changes too much,
       | be it human or machine. This is why you need flexibility, not a
       | rigid structure, in making law.
        
       | greybox wrote:
       | I'd be interested in seeing something like this for verifying
       | game designs / new game rules given an existing design
        
         | GolDDranks wrote:
         | Why? What do game designs have to do with law?
        
           | 0x9b wrote:
           | Games are activities bound by rules. Laws are rules for
           | government/governed.
           | 
           | AFAIK There's not really a programming language specific for
           | describing how players interact in a game, so although
           | there's no reason you couldn't implement it in any old
           | programming language. I guess the same thing could be said of
           | the law too until Catala.
        
             | altair8800 wrote:
             | Wouldn't that just be writing test cases against the
             | business logic of your game?
        
               | Martinussen wrote:
               | I assume they're talking about tabletop/board games and
               | such, not video games.
        
       | wcerfgba wrote:
       | What are the authors' goals, what is their intended purpose? I
       | can't find a mission statement on their website.
        
       | turtleyacht wrote:
       | 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 tests1: 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).
       | 
       | 1 https://en.m.wikipedia.org/wiki/Equivalence_partitioning
        
         | octacat wrote:
         | It will not compile (sarcasm).
         | 
         | Many laws are written with a lot of double meaning (recent eu
         | regulations on allowing or not allowing russian cars is a good
         | example).
         | 
         | Though, it could be a good idea to find all the possible double
         | meanings or vague definition when trying to "digitise" the laws
         | into the programming language.
        
         | az09mugen wrote:
         | That would be nice also to have unit tests
        
         | natn wrote:
         | imagine... TTD applied to laws.
         | 
         | Or take it a step further, write a test suite and automatically
         | generate a range of possible laws that satisfy the tests.
        
       | jeppester wrote:
       | For years I've tried to convince my lawyer friend that something
       | exactly like this would be great to have, and then it turns out
       | to have existed probably all the time.
       | 
       | I think this is truly awesome.
       | 
       | Every law should be written in a language like this, and
       | presented publicly with syntax highlighting and consistent
       | formatting rules.
       | 
       | Then it should be made part of the school curriculum to learn the
       | law language.
       | 
       | I believe it would greatly improve everyone's ability to read
       | laws and be confident about their understanding of them, which
       | would be a huge boon for society.
        
         | tsimionescu wrote:
         | 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 other laws and regulations
         | and legal precedent etc.
        
           | da39a3ee wrote:
           | I don't know if what you say about laws is correct, but it's
           | certainly not a correct description of contracts. The general
           | public is constantly confronted with utterly unreasonable
           | legal documents: far too long, far too unclear, far too
           | complex. The lawyers writing these, and the entities paying
           | them, both know that the public will never read or understand
           | them. It's pure cinicism.
        
             | tsimionescu wrote:
             | Sure, but that wouldn't change if they were written in
             | code. It would probably get much worse, in fact.
        
           | actuallyalys wrote:
           | I think this is a big part of it. My sense (as a non-lawyer
           | who has looked at a fair number of laws and contracts) is
           | that, in addition, there are plenty of laws and contracts
           | that are just poorly written and wording or constructions
           | that lawyers have retained out of caution or traditionalism.
           | This last case, traditionalism and caution, is maybe a
           | special case of the other cases, but it's not always obvious.
        
             | tsimionescu wrote:
             | I believe that another thing that happens, and it is common
             | in every field, is that certain constructions are very
             | common within the field, and so the need arises among
             | practitioners to shorten them. Most domains invent new
             | words, but this doesn't work for laws and contracts (since
             | they need to at least in principle be understandable to
             | non-practitioners, such as most elected officials).
             | 
             | So instead of full-on jargon, legal texts get enshrined
             | phrases, which practitioners can essentially skip over, but
             | which also retain some meaning in plain English (though
             | often sounding antiquated).
        
             | pydry wrote:
             | 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 that DSL would need frequent maintenance. These
             | types of contracts did evolve as new types of clauses and
             | legal constructs popped up and gradually evolved from "new"
             | to "standard" to "boilerplate".
        
               | tsimionescu wrote:
               | 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. This can actually be OK if the DSL is
               | very commonly used, such as a DSL for contracts between
               | two parties which sign new contracts every day.
               | 
               | But it is a huge waste of time for parties which rarely
               | sign contacts, and is often used as an explicit moat to
               | keep laymen from participating. If I give you a contract
               | to sign that isn't even written in plain English, you
               | will have no choice but to hire a lawyer specialized in
               | understanding this contract DSL to advocate for you.
               | 
               | I imagine (savvy) lawyers actually love DSLs that purport
               | to make contracts concise.
        
           | gorenb wrote:
           | As someone who has tried to read the Black's law dictionary
           | once, I must tell you that the law does use _a lot_ of formal
           | language.
        
             | tsimionescu wrote:
             | It does, to some extent, but it's still much closer to
             | natural language than code. Expressing the law in code
             | would turn this dial up to 11 and then some.
        
           | LudwigNagasena wrote:
           | 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.
        
             | mschuster91 wrote:
             | > 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.
             | 
             | Which is why it is the common standard in German law to
             | define every possibly unclear term either in the relevant
             | section of the law itself or in an introduction article.
        
             | tsimionescu wrote:
             | I don't agree that the law is a huge mess. It is certainly
             | far less of a mess than any code base I've ever seen, given
             | the gigantic scope of what it applies to, and how many
             | people if affects.
             | 
             | Note that the legal system is indeed a huge mess, but that
             | happens because of many other reasons - not a problem with
             | the wording or vagueness of the law, but with the explicit
             | (malicious) intentions of law-makers, judges, police and
             | others involved in the whole process.
             | 
             | For your example of "child": how often does it actually
             | cause a problem in practice? How many people have been
             | improperly punsihed/set free because of a poor
             | interpretation of the word "child" in a specific law? This
             | is far more relevant than every law taking up valuable
             | space to define what such a common word means.
        
               | LudwigNagasena wrote:
               | > How many people have been improperly punsihed/set free
               | because of a poor interpretation of the word "child" in a
               | specific law?
               | 
               | How many improperly punished people is good enough? How
               | many cases go to Supreme Court because the amount of
               | needless ambiguity just adds up, one word at a time?
               | 
               | > This is far more relevant than every law taking up
               | valuable space to define what such a common word means.
               | 
               | Right? Why do many laws redefine it?
        
               | tsimionescu wrote:
               | I don't know how many is good enough. If it's every other
               | person, than that's bad; if it's two people since the law
               | was written 50 years ago, I would say that's good enough
               | in my book. Which is it?
               | 
               | And no, cases don't often make it to the Supreme Court
               | because the wording of the law is ambiguous. They make it
               | to the SC because the parties disagree on legal
               | principles and on whether laws are unconstituional or
               | not.
               | 
               | > Right? Why do many laws redefine it?
               | 
               | I would have to see some specific examples to judge for
               | myself. Still, this seems to be the opposite problem
               | compared to what was raised earlier. So which is it? Do
               | we want laws to be more explicit about their exact
               | definitions of words, or more implicit?
        
               | sheepscreek wrote:
               | > ..and how many times it's used undefined
               | 
               | This is the real advantage of codifying law into a
               | programming language. You can have validation and
               | assertion that is automated. And a strict structure, free
               | from ambiguity.
               | 
               | As an additional advantage, multilingualism becomes more
               | accessible, with the codified program/definition acting
               | as the lingua franca of law. Thus, someone who only knows
               | English could make sense of Japanese laws by reading it.
        
               | tsimionescu wrote:
               | Why would you want every law that applies to children to
               | explain what a child is? Why stop at child, perhaps each
               | law should include a definition of every word it
               | contains, right? That would certainly make every law much
               | more readable for the masses.
               | 
               | The text of the law is meant to be understood by the
               | people that it applies to, i.e. everyone living in the
               | locality which passed said law. Expressing law in a
               | formal language goes directly against that goal. Imagine
               | if a EULA you get presented with, instead of being a wall
               | of repetitive text, would be a wall of code with symbols
               | you at best remember from some class you took in 8th
               | grade.
        
           | jeppester wrote:
           | I don't watch that kind of television much, but since I'm not
           | a lawyer, my view of the world is probably too simplistic.
           | 
           | Still I'd argue that normal language is very poor at handling
           | that tangle of references.
           | 
           | A good programming language would make those references very
           | easy to untangle and present in their untangled form.
           | 
           | When I've read (Danish) laws, I've often thought that they
           | would read better as if statements.
           | 
           | It's not that I think those laws are written in legalese,
           | it's that they are expressing logic in a suboptimal way. Like
           | how "four plus four equals eight" is a suboptimal way to
           | express what could be expressed with 4+4=8.
        
             | tsimionescu wrote:
             | > A good programming language would make those references
             | very easy to untangle and present in their untangled form.
             | 
             | Not necessarily. Notation can only do so much to help with
             | understanding. To understand 4+4=8 you still need to
             | understand what's a number, what addition means, and what
             | it means for two numbers to be equal. The same problem
             | applies to the law, and it takes far more time to
             | understand legal concepts than the actual wording.
             | 
             | Additionally, the law is not supposed to be some arcane
             | discipline that you need to learn a new language for. The
             | law is decided on by, and applies to, people who are not
             | and have no reason to become legal experts. It is simply a
             | statement of the rules by which we try to live.
             | 
             | If laws were written in code, they would actually become
             | much, much harder to understand than they already are for
             | the vast majority of their audience. Imagine a public
             | debate about a law where the text of the law was, instead
             | of plain(ish) English, Haskell code. Imagine news anchors
             | explaining that Biden agreed to add the lambda sign, but
             | was heavily criticized by McConnell for his use of a monad
             | instead of a plain for loop.
        
               | jeppester wrote:
               | > Additionally, the law is not supposed to be some arcane
               | discipline that you need to learn a new language for.
               | 
               | It would seem to me that reading laws has become an
               | arcane discipline, partly due to it being expressed in a
               | language with overly long sentences, which handles
               | branches and references very poorly from a readability
               | perspective.
               | 
               | > Imagine news anchors explaining that Biden agreed to
               | add the lambda sign, but was heavily criticized by
               | McConnell for his use of a monad instead of a plain for
               | loop.
               | 
               | While that would surely be interesting to watch, I think
               | we both know that's not what would happen.
               | 
               | Like I wouldn't ask you "number four plus sign number
               | four equal sign X?"
        
               | tsimionescu wrote:
               | I assure you that no one who fails to parse long
               | sentences would get a _better_ understanding from
               | replacing those with code of all things.
               | 
               | And if the actual text of the law consisted of coding
               | symbols, I very much expect that (a) you'd have endless
               | debates about the precise symbols being used, and (b)
               | have to have anchors going over the meaning of those
               | symbols and losing 9/10ths of their audience along the
               | way.
        
         | swayvil wrote:
         | And the links! OMG, you could trace precedents and
         | justifications and citations all the way back to the ur-
         | utterances of Hammurabi. Reading that stuff could be quite
         | educational.
        
           | qingcharles wrote:
           | Am actually working on a project like this. Not quite to the
           | level of insanity you're thinking about, but certainly a
           | couple of thousand years.
        
         | hyperthesis wrote:
         | A big problem is you lose all the case law that interprets the
         | law. Like discarding two centuries of bug reports and patches.
         | 
         | At the same time, laws have been codified (i.e. the case law
         | rewritten coherently, combining all the patches combined), such
         | as the Uniform Commercial Code.
        
         | bg46z wrote:
         | Although in principle I agree with you, the law generally
         | depends too much on interpretation and precedent to be
         | expressed and understood like you're hoping for.
        
           | jeppester wrote:
           | That information should be available in summarized anonymized
           | form, referenced from the law language.
           | 
           | The judiciary should keep it up-to-date.
        
       | slazaro wrote:
       | I know that naming is hard, and it has already been mentioned in
       | the comments here but... I can't believe that somebody named a
       | programming language with the exact same name as an existing
       | natural language spoken by millions of people.
       | 
       | It just seems like a bizarre decision that can't be a benefit at
       | all and can only have negative consequences. Just googling things
       | about it is going to be hard. Why immediately create potential
       | problems for yourselves when you can choose a name that's not an
       | issue?
        
         | mathisfun123 wrote:
         | goofy; the language you're talking about is Catalan of
         | Catalonia, not `catala`.
         | 
         | > Just googling things about it is going to be hard
         | 
         | when you're looking for docs on go do you google just "go"?
         | 
         | edit: fine, it's called catala in catalonian itself - this is
         | so pedantic now that i might as well at this point say that the
         | missing diacritic is sufficient to disambiguate.
        
           | pvaldes wrote:
           | Catala is the name of the language in Catalan, is totally
           | equivalent to saying "English" if you are a native.
           | 
           | This is obviously a not innocent choice. At this level I
           | don't believe in coincidences and CatalaLang makes it even
           | more obvious. This looks like a veeeery obvious psy-op, or a
           | independentist version of the old embrace, extend,
           | extinguish.
           | 
           | My bet is that as they can't stomach the basic legal
           | concepts, they will try silently replace it by the new
           | "updated" meaning of those concepts.
        
             | feliixh wrote:
             | Def a psyop. Classic Catalonian move of seizing
             | independence by writing self determination laws in code and
             | carefully introducing a bug that they can then exploit to
             | secede.
        
           | dial9-1 wrote:
           | it's catala in catala
        
             | slazaro wrote:
             | It's actually "catala" not "catala". Source: I'm catala.
        
           | mkl95 wrote:
           | > when you're looking for docs on go do you google just "go"?
           | 
           | Golang will do the trick. Catala lang will not unless the
           | language becomes massively popular.
        
             | mathisfun123 wrote:
             | try catalalang right now behind incognito mode and tell me
             | what you get
        
               | mkl95 wrote:
               | Touche
        
           | lolinder wrote:
           | > when you're looking for docs on go do you google just "go"?
           | 
           | I wouldn't use Go as a good example of naming a language. It
           | worked out because the language had the weight of Google
           | behind it, but it's still awkward that you have to use a
           | different name when searching for things than you do at other
           | times.
        
             | mathisfun123 wrote:
             | > I wouldn't use Go as a good example of naming a language.
             | It worked out because the language had the weight of Google
             | behind it
             | 
             | this is called the no true scotsman fallacy - "I'm still
             | right in XYZ case because XYZ isn't a real instance of ABC
             | (the thing I'm making a claim about)"
        
               | lolinder wrote:
               | No, it's not, because I didn't make a universal claim
               | about anything. A _No True Scotsman_ fallacy must follow
               | a overly-broad _No Scotsman_ statement.
               | 
               | All I said is that Go, specifically, is an awkward name
               | that probably shouldn't be used to justify further
               | awkward names.
        
               | mathisfun123 wrote:
               | >No, it's not, because I didn't make a universal claim
               | about anything.
               | 
               | the implicit, categorical, universal, claim you're making
               | (that's the crux of this petty, pointless, debate) is
               | that the naming matters _at all_. my counterfactual is go
               | and your response was that it should be dismissed
               | /discounted because blah blah blah. do you see the no
               | true scotsman now?
        
               | [deleted]
        
         | mxkopy wrote:
         | [flagged]
        
           | azan_ wrote:
           | What? Why?
        
             | [deleted]
        
             | version_five wrote:
             | The flagged post didn't put it eloquently but the sentiment
             | is right, and complaining about naming violates HN rules
             | about not complaining about tangential issues. As it is
             | they've at least temporarily ruined the discussion by
             | having the top post be feigned concern about something
             | that's not at all material to the content.
        
         | jrockway wrote:
         | This hasn't seemed to help or hurt the popularity of other
         | languages. You've got hot beverages, single letters, snakes,
         | gemstones, two letter verbs, oxidized steel, languages where
         | two thirds of the name are symbols, etc. It doesn't seem to
         | matter. It appears that society, and search engines, are well-
         | equipped to deal with the concept of homonyms.
        
           | slazaro wrote:
           | All of the things you mentioned are not languages themselves.
           | If you google "catala language" (try it! seriously) you're
           | going to get results for the natural language, not this one.
           | It's just an unneeded roadblock that they placed on
           | themselves.
        
         | [deleted]
        
         | mrdoob2 wrote:
         | Came here to share the same thought.
        
       | chillbill wrote:
       | [dead]
        
       | eddtests wrote:
       | This is really cool! But I guess it's biggest drawback is being
       | unable to deal with case law?
        
       ___________________________________________________________________
       (page generated 2023-09-17 23:00 UTC)