Expanding the GL:
One may acheive that using the preprocessor at best, and if not possible the compiler.
The idea is to avoid touching too much on the frontend. That would introduce software bloat and instability.
Examples (from Ne.app' Visual Nectar):
#include <GenericsLibrary/io.nhh>
#include <GenericsLibrary/std.nhh>
let main() {
async {
try {
writefn("%s", "Hello, World!\n");
}
except {
// if it doesn't go through, abort program.
abort();
}
} await {
// While awaiting, execute code.
}
}
It is simple to read, and the user can roll its own implementation.