While I was away, I completely forgot that I had basically started a rewrite of the entire compiler toolchain to handle some of the nifty meta-syntactic concepts that I wanted to implement. This means that I dropped into the code base this afternoon and found myself in utterly alien territory. I mean, I can recognize that it's my code, but it seems about as familiar as if it had been written by Abraham Lincoln. (He was a hell of a Lisp hacker, don't you know.)
Now, I couldn't just leave myself with a working alien code base... no, I had to introduce a healthy dose of bit-rot and let things totally decay in the past several months. So the code doesn't even run, although thankfully it does compile and does compile Epoch programs correctly. There's just some weirdness with static string constants to get sorted out, and it should be good to go.
My plan at this point is to continue with the rewrite until I get things back up to par in terms of functionality, then re-evaluate the project's status and goals afresh and see where exactly I want to go with this beast. I've had the benefit of quite a bit of away time to purge my mind of preconceptions, so this is a great opportunity to step back and see what exactly makes the most sense for the project as a whole. (Translation: I forgot what the hell I was doing so I'm going to make stuff up as I go. Whee!)
Stay tuned for more saucy, juicy, not-too-chewy updates.
Update 1600 Hrs
String pooling issue fixed, and now the test program runs and even outputs the right results! Yayy!
Now I'm going to commit all this mess to the main Google Code repo and then see what needs to be done to get functionality back up to where it ought to be.