4 ms·
You very conveniently skipped that you cant build async /await in C without modifying the language. You also failed to show how parser combinator grammars such
by random314 6y ago
You very conveniently skipped that you cant build async /await in C without modifying the language.
You also failed to show how parser combinator grammars such as yacc/bison/BNF forms are basically just imperative code.
Monads model effect systems; not imperative code.
I am impressed by your ability to argue about stuff you know nothing about, and linking to papers and documents you can't even read. Have you considered running for US president?
- jcelerier 6y ago> You very conveniently skipped that you cant build async /await in C without modifying the language. but async / await is semantics, not syntax, thus completely irrelevant to the conversation. you want an example of building async / await into the syntax of C as a library ? tada ! void* async(...) { return NULL; } void await(void* ptr) { } int main(int argc, char** argv) { void* handle = async(printf("foobar")); await(handle); } or maybe you would prefer the more "modern" version, still compatible with pure C89 syntax though ? #define async #define await (void) int main(int argc, char** argv) { auto x = async printf("foobar"); /* wow, you can even compose it ! */ auto y = async 2 * x; await x; } please go on, this is super entertaining !
- random314 6y agoWow man! your async-await code actually does nothing! I don't think I have argued so much and so far with an idiot!