Live data from Hacker News

Compiler for the M language of the French DGFiP

gitlab.inria.fr

41–50 of 68 posts

Re: Compiler for the M language of the French DGFiP

#41

I have implemented parts of the tax code, following 1040 and the network of forms it references line-by-line, for my own financial planning. I've been selective about what I implement based on what applies to me. I don't share the code because I'm not sufficiently confident that it's correct, don't want liability, and don't want an obligation to keep it up to date. That said, it feels like the scope of the project wo…

I understand your worry, but could you feel better offering it under a free software license that expressly disclaims warranties of usefulness for any purpose?

Or leak it via Tor plus a pastebin, so that you are protected from liability via anonymity?

Re: Compiler for the M language of the French DGFiP

#42

The author explains what were the challenging bits in this thread (in french): https://twitter.com/DMerigoux/status/1314531302079688709

It's rare that I (an American) get to help out others by translating something, so I will post my translation here. "Four years after the first publication by DGFIP, I have the pleasure of announcing that the source code permitting the calculation of taxes on revenue is finally reusable (recompilable by others)! To use this algorithm in your application, follow this link... It took us 1.5 years (with my coauthor Raph…

The last four posts in the Twitter thread:

"A little less than a year after the publication of [blog post], we have therefore found a compromise letting us to respect both the obligation to publish the source code and the security constraints of DGFiP.

In letting us publish the code on their site and accessing confidentially the source code they didn't want published, the DGFiP let us find alternative solutions that made the publication of the source code concrete and operational.

This compromise lets both parties come out on top, unlike what happened with the source code of CNAF [link] where the administration simply argued a too-important difficulty and indefinitely postponed [1] it.

Letting those who ask for the source code to see it after a NDA therefore appears to be a possible solution when the publication is delicate for technical reasons. Could this path be useful for the report of @ebothorel?"

[Note: translation here is somewhat more geared towards a natural English translation than a literal French translation.]

[1] "repouss[er] [...] aux calendes grecques" appears to be an idiom that's not in my dictionaries, but from context appears to mean "indefinitely postponed"

Re: Compiler for the M language of the French DGFiP

#43
Calling your language the "M programming Language", unfortunately, is ambiguous. One of the oldest langauges to claim the name, is the MUMPS programming language used in healthcare computing and in financial computing is also called M ( https://opensource.com/health/12/2/join-m-revolution ). The the Power Query Formula Programming Language is informally called the M programming language. Kiran S J of Bangalore has a language named the M Programming language (https://github.com/kiransj/m-programming-language) The Cache programming language is a super set of the M programming language ( https://cedocs.intersystems.com/latest/csp/docbook/Doc.View.... ). Microsoft has a modeling language called the M Programming language ( http://community.bartdesmet.net/blogs/bart/archive/2009/02/1... ) There is the M# programming language ( https://en.wikipedia.org/wiki/M_Sharp ) and the M programming language for language for HardWare description from MentorGraphics and The language for Mathematica, was called M, and now I think, is called the Wolfram Programming Language. ( http://wiki.c2.com/?ProgrammingLanguageNamingPatterns )

Re: Compiler for the M language of the French DGFiP

#44
post #43

Calling your language the "M programming Language", unfortunately, is ambiguous. One of the oldest langauges to claim the name, is the MUMPS programming language used in healthcare computing and in financial computing is also called M ( https://opensource.com/health/12/2/join-m-revolution ). The the Power Query Formula Programming Language is informally called the M programming language. Kiran S J of Bangalore has a…

Doesn't matter. From a quick glance, no one would be able to distinguish MUMPS monstrosities from the monstrosities that are the tax .m files. Maybe this M and MUMPS are even related.

Re: Compiler for the M language of the French DGFiP

#46
There is also a similar and very good project funded by the URSAAF and the DGFiP (the two main entities in the french tax system) : https://publi.codes

IMO (I am not part of this project) it is more interesting as it is language agnostic, easy to use for everyone (based on yaml) and more importantly, it is starting to be implemented in the government actual tax computing system.

We are using it in a challenger bank I started.

Re: Compiler for the M language of the French DGFiP

#47
Related : the french administration has built a custom language for another big set of tax rules, those that dictate our social security system (which collects 500 billons of € / year)

It's presented on https://publi.codes but unfortunately we've not translated it yet. The language keywords themselves are in french, by design, to bridge the law and its official implementation. It's not yet used to compute taxes, just to simulate them on the official mon-entreprise.fr website.

The "code" expressed in YAML is parsed to build the computation model (in TypeScript), to document this model on the Web (each variable has a Web page) and to generate typeform-like forms.

It's in the https://github.com/betagouv/mon-entreprise monorepo, but it's also used to implement a model of our personnal climate impact, here : https://github.com/betagouv/ecolab-data/tree/master/data

Et bravo Denis :)

Edit : in case you didn't know, the french adminstration's code must by law be made public. This is just the beginning, expect lots of similar projects ! You can browse some repos here https://code.etalab.gouv.fr

Re: Compiler for the M language of the French DGFiP

#48

Earlier quoted context omitted.

It's rare that I (an American) get to help out others by translating something, so I will post my translation here. "Four years after the first publication by DGFIP, I have the pleasure of announcing that the source code permitting the calculation of taxes on revenue is finally reusable (recompilable by others)! To use this algorithm in your application, follow this link... It took us 1.5 years (with my coauthor Raph…

The last four posts in the Twitter thread: "A little less than a year after the publication of [blog post], we have therefore found a compromise letting us to respect both the obligation to publish the source code and the security constraints of DGFiP. In letting us publish the code on their site and accessing confidentially the source code they didn't want published, the DGFiP let us find alternative solutions that…

The calendes were a Roman holiday IIRC. Greek ones simply don’t exist...

Re: Compiler for the M language of the French DGFiP

#49

Earlier quoted context omitted.

It's rare that I (an American) get to help out others by translating something, so I will post my translation here. "Four years after the first publication by DGFIP, I have the pleasure of announcing that the source code permitting the calculation of taxes on revenue is finally reusable (recompilable by others)! To use this algorithm in your application, follow this link... It took us 1.5 years (with my coauthor Raph…

The last four posts in the Twitter thread: "A little less than a year after the publication of [blog post], we have therefore found a compromise letting us to respect both the obligation to publish the source code and the security constraints of DGFiP. In letting us publish the code on their site and accessing confidentially the source code they didn't want published, the DGFiP let us find alternative solutions that…

The calends [0] are the first day of every month in the Roman calendar. As the Ancient Greek calendar does not feature calends, postponing something to the Greek calends means postponing something to a later, unknown and unlikely to happen date.

[0] https://en.wikipedia.org/wiki/Calends

Post reply on HN