I started writing this to do my own taxes, which are very complicated---the project covers forms 1040, 6251, part of 8582, 1040 schedules A & E, and several worksheets because I actually have to file all of those. [Well, I don't have to file f6251, but I can't prove that without going through it.]
Thanks to this thread I've learned about a few other implementations of the code, and I'll have to check them out. But I should note that the XML documents from the IRS are not one of them. They do a good deal of error checking, but you can't use them to solve for the bottom line. It's the lack of a reference implementation of the tax code from the IRS that has led me and evidently several others to roll our own.
Given a reference implementation, there are a lot of things one could do: a what-if calculator for consumers or businesses, a policy analysis tool using IRS SOI (statistics of income) data, still more infographics beyond the one at https://b-k.github.io/1040.js , tools for in-person tax prep for all the tax clinics that pop up this time of year. In a perfect and ideal world, IRS would pick up on all this potential utility and would start providing a reference implementation themselves.
That page hasn't been updated for a long time: "In fact, Borders, the most respected and successful bookstore chain in the country, reports that ORA is their top publisher."
Thanks for posting this. I often wondered `what are the Y-combinator people are going to say about this...?' while writing some opinionated section of the book, and the reaction seems pretty positive so far. Nobody has yet compared it to K&R...
There _is_ a lot of GNU in there, but that's because there's a lot of GNU in the C ecosystem. I made an effort to neither overuse or underuse GNU tools, and this is where I wound up. Also, I made a serious effort to label anything that's GNU-specific as such, e.g., the long segment on the GNU/BSD-specific asprintf() (which I was _so_ disappointed to not see adopted in C11).
Everything tests out on clang unless otherwise stated. In fact, there are little things that work better on clang, because it uses c99 out of the box. E.g., as of this writing, you'll need clang to make the example for (C11) _Generic work. If anything breaks standards without my telling you it does, you can file a bug report at O'Reilly's site for the book (or email me), and I'll fix it in later electronic versions.
As for autotools, I had a sort of epiphany somewhere along the course of writing the book: it's not so bad. At the core, if you want to do something relatively simple, like set up a basic shared library, you can do so in just a few lines of Automake. It's filled with hacks and historical cruft, but as a user I...I've grown to actually like it. Also, as above, it's a huge part of the ecosystem and therefore worthy of discussion for that reason alone. If you don't like it, skip the Autotools chapter and stick with make. I won't know.
I started writing this to do my own taxes, which are very complicated---the project covers forms 1040, 6251, part of 8582, 1040 schedules A & E, and several worksheets because I actually have to file all of those. [Well, I don't have to file f6251, but I can't prove that without going through it.]
But since starting I'm thinking more and more about the value of a public reference version of the tax code. I discuss this more here: https://bureauphile.wordpress.com/2016/03/19/managing-comple... .
Thanks to this thread I've learned about a few other implementations of the code, and I'll have to check them out. But I should note that the XML documents from the IRS are not one of them. They do a good deal of error checking, but you can't use them to solve for the bottom line. It's the lack of a reference implementation of the tax code from the IRS that has led me and evidently several others to roll our own.
Given a reference implementation, there are a lot of things one could do: a what-if calculator for consumers or businesses, a policy analysis tool using IRS SOI (statistics of income) data, still more infographics beyond the one at https://b-k.github.io/1040.js , tools for in-person tax prep for all the tax clinics that pop up this time of year. In a perfect and ideal world, IRS would pick up on all this potential utility and would start providing a reference implementation themselves.