Thank you for your donations!   Download the book!   Public source code repository   Join the group!

Spelling correctly

Since last update I started implementation in C. Due to C demanding to be exact with one's thoughts and code, I also started testing thoroughly the most basic facilities, namely data model and performing transformations to chessboard positions.

One thing leads to another, and so I ended examining notational grammar. Even though it was documented where it was not correct, it started to bother me more than I could bear. So, I embarked on a side-quest to fix it, which I did, even though it's still not 100% exact.

This is currently where project stands. I still have some leftover TODOs in the book, after which I'll update book preview. After that C implementation will resume. I plan to revisit data model and try to reasonably simplify it, which will also cascade into changing accompanying allocators, other functions, and tests. 

So, almost everything implemented so far could change; which could be regarded as development without a (meaningful) progress. This is still Good Thing, since it's much cheaper to change designs early in project life, than later. Change early, change often.

I'll be also looking into options to write more error-resilient code, even if that means introducing more of boiler-plates. Contrary to popular belief, boiler-plates are good, especially if true-and-tested, hardened against (most) errors, and if there aren't too many of those.

Also, I'll be in a need of a better naming scheme; current one is covering only some items, in some scopes; so function, struct names in library are all over the place.

No comments:

Post a Comment