← Back to context

Comment by mgaunard

1 day ago

The funny part is that all of these things are easy to achieve as libraries/paradigms.

Methods in C, just have function pointers as members. Common in many codebases.

Guaranteed tail calls, all the compilers guarantee that function calls that are a return expression are tail calls.

Tagged union in C++, it's trivial as a library, see std::variant for a bad example of it, and all the various monadic/pattern-matching variants (pun intended) people have written. C is at a disadvantage here due to lack of lambdas, but I'm sure people have built stuff using some GCC extensions.