Speaking of safety... I discovered a pretty major bug in the type checking code. When passing a function to a structure or tuple, the signature of the function is not checked. So I can declare a structure member that expects a Foo function, and then assign in a Bar function. If the structure member is then invoked, I call a Bar which really should be a Foo, and the VM decides it wants to revisit its lunch. That'll take some delicate surgery to fix, but nothing too critical.
Other than that, my task list remains largely unchanged. I have done some serious thinking about my project priorities, however. In particular, I'm not sure I want to put all my pre-GDC effort into the IDE project. The point of the GDC release is to show off the language technology and what it can do for multiprocessing; if there's no multiprocessing at all, then there's no point.
So I'll likely be shifting the IDE project back rather far, and focusing on a basic threading model first. Once that's in place it should be much easier (and more convincing) to say "here, look at this multitasking code; now imagine adding one keyword that magically causes the code to run on the GPU."
Essentially at this point I want to get things as polished and clean as I can. My goal is to demo the language's capabilities first and foremost, and to illustrate my own abilities as a secondary bonus. That means code needs to be documented, clean, and well designed. Unfortunately a few major features are still in dirty-hack mode, so I'll be prioritizing those issues. Ideally, the GDC release should be a well-polished stable fork, and not a nasty half-implemented unstable fork.
Anyways - three weeks and counting! Should be an interesting time.