Hacker News new | ask | show | jobs
by justinclift 2085 days ago
Something seems off with the current repo being pointed to. The repo Readme says:

  This work is based on a retro-engineering of the syntax
  and the semantics of M, from the codebase released by the
  DGFiP.
Sounds like an external re-implementation, of the "original" release here:

https://framagit.org/dgfip/ir-calcul

That original release says it's under a free license too.

Wonder why there's a re-implementation?

2 comments

The author explains in the twitter thread (french):

https://twitter.com/DMerigoux/status/1314531302079688709

> The difficulty arose from a constraint on the part of the DGFiP which did not wish to publish, for security reasons, part of the logic of the calculation corresponding to the "multiple liquidations" mechanism. Raphael and I recreated this unpublished part in a new DSL.

> The DGFiP also did not wish to publish its internal test sets. We therefore proceed to the creation of a completely random test set, from the unpublished content, in order to be able to reproduce the validation of Mlang outside the DGFiP.

> A little less than a year after the publication of https://blog.merigoux.ovh/en/2019/12/20/taxes-formal-proofs...., we therefore found a compromise allowing to respect both the 'source code publication obligation, and the security constraints of the DGFiP.

> By allowing us to go to its operating site and confidentially access the source code that it did not wish to publish, the DGFiP has enabled us to find alternative solutions that make the publication of the source code concrete and operational. .

The repo that you're linking to isn't an implementation of the M compiler. Rather it's the rules/definitions that are used to compute the income tax (« Impôt sur le Revenu »).

The M compiler reimplementation linked in this submission allows you to actually execute those rules and perform simulations.

Thanks, that's good info. :)