ID:2813190
 
As promised, the news is early this week and development was truncated by a lot of appointments, the biggest of which is coming up.

My plan this week was to get a new alpha release out for 515, with all the new compiler optimizations. Things hit a snag however when my tests revealed a major problem: One of the SS13 codebases I tested to see if it would still start up properly... doesn't. The codebase contains a major antipattern where a number of singleton datums created in the world init proc (not the same as world.New()) are dependent on lists which are also initialized in the init proc, and something has changed where the vars are initializing in an unexpected order. Realistically this needs to be fixed; it isn't something I can just ask Goonstation to make major changes to deal with, and they shouldn't have to. So I'm working on it.

Unfortunately it took a long time just to realize what the problem was, and diagnosing where things went off the rails is a longer debug session I've barely had any time for. I'm on the case, and I've been working on it by backporting some of 515's optimizations—which is great news for 514 if there's another maintenance release before beta. (And that may be likely, because there are a couple of bug reports to check.) So for now I'm in the guts of the compiler trying to work out the problem, and getting a little bit closer bit by bit as I have time to work on it. I may be able to do more today.

Which brings us to why the news is early, and what's coming in the weeks ahead. My wife is going in for a pretty big surgery tomorrow—which is actually the best way things could have gone—and that's gonna crash into the schedule hard. In the time ahead her recovery eclipses all other priorities, so although I'll still be at work and churning out what I can, it's definitely going to impact my output. How much of an impact is hard to say yet, but I expect the weekend is gonna be rough. So bear with me, but I'll be here.

Thanks once again to all the BYOND Members and donors who keep the lights on. I'm really grateful for your support.

Hoping for best-case scenarios, I'd like to hope there's a Fair visit in my future since that starts up next Wednesday and goes until Labor Day, but boy does that ride on a lot of what-ifs that are wide open right now; realistically the week after next is the best window if all goes well. Thoughts and prayers are much appreciated (for my wife, that is); we're just hoping from here we won't have to deal with anything worse, at least not for a very long time.
Spend all the time with your family, Compile 2 Exe can wait.
An update on the bug I've been chasing: It's a direct result of /list being able to have procs defined under it. Because of changes to the way type paths are handled to support this feature, it's throwing off the way compilation works for certain vars, and that's why the world init proc is out of order for Goonstation.

As a result of the discovery I made, and after talking this over with some people, I decided to revert the change that allows procs to be defined under /list. It's less useful than I originally thought, and the problems it creates as a result are completely not worth it.

Reverting that won't prevent me from pursuing the idea of soft-typed lists (where you can hint what type the list items should be) in the future. That's a different animal.