Man, do I love programming language comedy. This is probably the best I've seen since Dreamberd.
I may biased though. Just the "Zápis" and "Popis" column names make me smile because of my mother tongue, which is sufficiently different from Czech to provoke unclear but funny connotations.
Is automatic register allocation necessary? Would anybody contest that?
Procedures? In and out parameters? Return values? Pointers? References? Integers? Signed? Unsigned? Structs? Unions? Arrays? Goto? Loops?
Do you enjoy implementing variable length encodings? What do you imagine would make that less error-prone?
What an application language can't have that a systems language can? What a systems language cannot ever afford and how to cope with that? What a systems language can afford lacking that an application language won't get away with?
These all are excellent questions for someone making a systems language, but that's not quite what I had in mind.
I'm more interested in surveying the boundary between systems and application languages, rather than exploring the design space for a systems language.
In other words, what Python, Haskell or JavaScript lack that systems languages must have?
- Static typing. System-level programming often has more complete requirements and more stable requirements than, business information applications. Languages for system-level programming should utilize that.
How do you think automatically managed strings might work, so that there is as little hidden code and costs as possible, but still decently ergonomic for your taste?
Would you consider automatic strings good enough if restricted to (a) statically known length, (b) statically known buffer size, or is it only worth it when they can be fully dynamic?
There is a nice implementation buried deep inside the Free Pascal run time libraries. There has to be some way to allocate memory at runtime for them to work properly.
In other words, how much time you have per week?