Rob and all,

I am the gdh that Christopher Graff was referring to here:
I have a few notes.

First, Graff's library was incompatible with the POSIX bc spec in subtle
ways, and I was getting frustrated trying to work with him. So on a day
that I was frustrated, I attempted to write an implementation to parse,
print, and add. After discovering that I could do it, I wrote my own.

Second, by the time you had sent me the link to the library, I had already
completed my own. Also, POSIX requires decimal, while that library is for
binary. The rounding modes are also incompatible. That's why I cannot use

Third, in the middle of your message to Graff, you said that, because it's
so big, you would change my submission to be unrecognizable before
accepting it. I understand that it's big, but please consider the fact that
I implemented a complete programming language and virtual machine in 9000
lines of code. And I did it with comprehensive error checking. Asking for
much less is (in my opinion) not entirely fair.

Now, there are some blank lines that I could reduce. (For example, I could
remove blank lines between function calls and the line that checks for
errors.) However, I have been very careful to not put in any more
functional loc than was absolutely required. A big portion of what was
required was to implement GNU extensions, the vast majority of which are
required for the timeconst.bc script in the Linux kernel.

If you would still like to change my submission, please work with me to do
so. I am entirely willing to do so (I have already written the bc in toybox
style and will continue to improve it if possible). If you do, I can
maintain into the future because I already have a script to cut releases of
bc for toybox. If you do not work with me, and change it yourself, it would
very difficult for me to maintain it for you.

I look forward to working with you.

Gavin Howard
Toybox mailing list

Reply via email to