The last thing I had to do for the fall 2009 semester was an epic 48-hour take-home final for B522. I think I was able to work out almost everything, but the very last part of the last question had me stumped. It was an "Is it possible to produce a term of type X in language Y, and if so, what would one such term be? If not, then would having a value of type Z on hand make it possible, and if so, what would one such term be?" sort of question. I was able to figure out that the answers to those questions were no and yes, respectively, but damned if I could actually work out what the term would be. I tried for hours. When I finally went to turn in the exam yesterday with the problem still unfinished (I had written something flippant, like "Yes, you can produce a term of the given type, but I can't"), two of the other students from the class were there, and none of us had managed to figure it out. Then Amal showed us a (gigantic) term that would have been a correct answer, and I was actually pretty relieved -- first, that what I had managed to figure out had been correct as far as it went (and, in fact, that I had even been correct in my understanding that said mysterious value of type Z corresponded to a proof of the excluded middle law), and second, that the answer wasn't actually something incredibly short and cute. I mean, I don't feel nearly so bad about not getting it now!

So, as of yesterday, I'm done for 2009, for some value of "done". With three semesters down, I'm now just one course away from being finished with a master's degree.1 (A full graduate course load is three per semester, but you need ten courses for the master's. That's how they get you.) After having spent most of the spring semester hanging on by my claws, it was a relief to find that things went much better this fall. For most of the time, I was standing firmly up on the edge of the precipice instead of hanging down into it by my claws. And my grades, as they trickle in, seem to be fine; evidently the final exam for my AI course went, um, just as badly for everyone else.

No rest for the wicked, though. Over break, I need to read some papers and start hacking Coq in preparation for the research project I'm doing with Amal in the spring. We're hoping to get a paper out by May, and there's a large amount of stuff I need to get up to speed on in order to make that possible.

I'll end up having to continue taking courses next fall, though, due to unfortunate scheduling and nonsensical distribution requirements.