Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Catala features (documentation/landing) #513

Closed
andrewbaxter opened this issue Sep 18, 2023 · 2 comments
Closed

Catala features (documentation/landing) #513

andrewbaxter opened this issue Sep 18, 2023 · 2 comments

Comments

@andrewbaxter
Copy link

andrewbaxter commented Sep 18, 2023

Catala was posted on https://news.ycombinator.com/item?id=37546874 yesterday. From the discussion it seems that people think it's basically just a standard for writing legal texts that looks kind of programming-languagey, and that it doesn't confer any analytical or computative abilities to the texts themselves.

Maybe that's correct! I looked at the readme which says

To learn quickly about the language and its features, you can jump right to the official Catala tutorial.

But glancing over the tutorial, I don't see anything you could call at a glance "features" - it looks like you'd actually have to complete the tutorial to actually know what features are there.

After searching some more I stumbled upon https://catala-lang.org/en/ with five bullet points, but

  • "Catala in action" shows how you can write the code from law, but what can you do with it after writing it?
  • "Closer to the source of truth" says basically the same thing
  • "Validation from legal" says lawyers can read it, but they can already do that with the law without Catala
  • "One code, multiple execution targets" says it can compile in various environments, but I still don't know why I would want to compile it
  • "Solid foundations" says it's based on programming languages, but not why that's important

I'm 99% sure I'm missing something here, because otherwise Catala is just a nerdy alternative to Word. This is already more research than most people do, and I'm ready to bounce still not knowing why it's interesting.

Assuming my guesses are right, I think a front page + readme (since people may land on either, they should have the same information or one should prominently redirect to the other) that had the following up front would be a much better sell

  • Catala is a logic language to describe laws. (example of law written as Catala) ✔️
  • Edit: You can test the logic using concrete examples!
  • It can be automatically analyzed to find ambiguities and contradictions! (example of law with contradiction, command to identify contradiction)
  • You can use it to answer questions! (example of law, query about term X (taxes?), computed result)
  • You can turn it back into legal text! (example of code + generated PDF)

I'm not in a position to contribute, so please consider this feedback, but it seems like a really cool project and I'd like to see it succeed.

@denismerigoux
Copy link
Contributor

denismerigoux commented Sep 19, 2023

Hi @andrewbaxter, thanks for your contribution! However I disagree with your characterization of what Catala is. It's a domain-specific programming language for deriving executable software from legislative specifications, with its core application domain being tax and social benefits computations. It is not a semantic encoding of the law like in the ontology/reasonning engine sense of the term.

"Catala in action" shows how you can write the code from law, but what can you do with it after writing it?

Well execute the program and obtain some outputs from the inputs. For instance how much tax you owe from your income declaration.

@andrewbaxter
Copy link
Author

Hmm, maybe I wasn't clear. To shorten this: I don't know what Catala is from reading the readme + front page. The fact that I was so wrong about it emphasizes this. Your reply already has more information than either of those documents. This was a request to clarify the landing pages, not to change the nature of Catala.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants