And he said, Who art thou, Lord? And the Lord said, I am Jesus whom thou persecutest: it is hard for thee to kick against the pricks. And he trembling and astonished said, Lord, what wilt thou have me to do? And the Lord said unto him, Arise, and go into the city, and it shall be told thee what thou must do.
Late last night, I finally uploaded the first alpha of the my Guile Unicode library to SourceForge. There is more to do, of course, but, I had to released it lest it ruin Christmas. I've got gingerbread to bake and vacuuming to do, and I couldn't do it with the release unfinished.
I originally intended to do a straight wrapping of IBM's icu4c, but, it is heavily UTF-16, and most of the non-Java GNU open source world tends to be moving toward UTF-8. So, in a act of bravado, I started my own Unicode library from scratch in Scheme. But that Unicode standard is hundreds and hundreds of pages. I would die before I completed anything.
So, back to ICU I went. I've tried to hide the underlying UTF-16 nature of ICU by having the wrapped functions deal primarily in full codepoints, UTF-32. It looks fairly effortless on the Guile side, but, under the hood, it is class-A Jerry-rigging.
So a couple of days ago, I knew the code was decent. Nothing left but the autotools crap. Autotools is an beautiful hack. It is amazing until you want to deviate from its expected norms, and then it becomes hateful. In a way, getting autotools (specifically automake) working is like a good Christian's relationship to God. You have to humble yourself to automake. It is not "how do I make automake do what I want". It is "how to I humble myself to the will of automake so that I am not punishing myself."
When "make check" began working, I knew I do the code-fu. Hi-yah!
How long have I been sitting here? I'm not sure I remember a life before unit test and documentation and autotools...