I've been working for 3 days straight on this: the monumental task of taking these text files and turning them into HTML. Or should I say, FML, because FML. Why is this so hard?

My code is peppered with writelns and sanity checks, none of which show anything alarming until long after the document gets a self referential cycle in it, and apparantly this is happening by "creating a child and appending it to a node." Obviously that's a rare and obscure operation, that nobody ever would think of doing.

I can't do any introspection. GDB just goes belly up with DIE errors. Trying to get non-broken DWARF information by switching to GDC, GDC goes belly up with "internal error, please submit a bug report" and the reason for this error is creating a module named "cross.iter" and adding a sixth exported symbol to it.

In reflection, what would be really nice is:
* some way to trace function calls, to see the order of calls before the program died. * a backtrace that displays when you hit ^C, instead of just silent death * DWARF debugging symbols that don't scramble the only program on earth that actually uses them. * some way to signal the program to dump the stack frames of its threads to a log * better ways to report program status besides writeln("we got here somehow"); * catching null pointer errors earlier, instead of waiting until you 1) call the class function and 2) the function accesses a member. * ways to ensure that nothing is being copied, if you accidentally write a wrapper that creates an object instead of referencing it, or moving it. * better const support, so can minimize the amount of mutable data involved here * it would be nice to be able to return an iterator whose elements are either const or not const, using inout, instead of having to write the function twice. * it would also be nice to be able to return references, instead of copying structs every time, or writing wrappers around them (which also cannot be used with inout) * heap allocated structs, stack allocated classes, it would be nice to have allocation strategy independent from layout strategy. * less people writing complex allocating functions as their struct init property, and then leaving me wondering how that could possibly be invariant.
* a pony

Reply via email to