The more observant of you may notice I have not written a journal entry in some time. When I left for Taiwan, I had to go back 5 hours, which was easy enough despite Singapore airlines doing everything in their power to disrupt my travel arrangements. Due to daylight savings (or, I guess, daylight scuttlings), returning was only 4 hours forward. This should have been easier, but for some reason the body always wants to spend at least a week or two complaining about the injustice of travelling at high speeds into the earth's spin.
Add to that the hassles of getting back into a (professional) work flow impeded by the three weeks I took out in the middle of my boss making a bid for a major project, the irresistable urge to spend every moment playing with Pugs and writing more parts of Perldoc, moving a project to OpenFoundry, finding a new flat, setting up a pugs-commits mailing list, some fine organic roots music and I'm back into New Zealand time.
Now, New Zealand time might be several hours ahead of Taiwan, but there is no way that I'm anywhere close to being on standard autrijus time. All I did was add a hack to try to add user-extensible types to Pugs so that we could do nicer Object Hacks in Pugs, and before I know it autrijus has implemented basic class support. And that in between integrating PGE into pugs!
Some mornings, when I start to work, I see autrijus has been up all night, and some times I'll get in and he's up early at the same time! My only explanation is that standard autrijus time requires junctions to be expressed, for the times where it exists in a superposition of early morning and late night.
So now I can get on with Stevan Little on writing a Perl MetaModel, that is, a model that describes the Class Model. This sort of coding territory is always a mindbender, instances of MetaModel objects are not even Perl Classes, they're objects that describe the Class system, and you certainly wouldn't want to instantiate them at 'run-time' unless you had the crack pipe blazing and decided to write extensions that not just modify the Perl 6 language, but modify its structure too.
This is all necessary on the long winding road to finally coming up with a Perl 6 port of Pugs. Hopefully, it will start to provide a set of objects that the Haskell to Perl 6 pugs conversion will be able to send its compiler code to.
One of the most frustrating things to a young coder is building something only to see it never used. It might turn out that this MetaModel stuff is later shown to categorically have been a waste of time; that the extra level of abstraction is simply not required. In that case, it is not lost effort, as it is exploring ideas and contributing to the pugs energy!