5 ms·
It is Haskell, just not Haskell2010. It is included in GHC2021. Would you say that a company that uses a subset of C++ as a policy is not using C++? Their defi
by nequo 4y ago
It is Haskell, just not Haskell2010. It is included in GHC2021.
Would you say that a company that uses a subset of C++ as a policy is not using C++? Their definition of the subset is as arbitrary as another’s that uses BangPatterns.
- eptcyka 4y agoSure, this language feature is mainstream now. But most real-world haskell codbases vary greatly in which language extensions they've chosen to use.
- kzrdude 4y agoIs this a C++ benefit, that the competing implementations GCC and LLVM give each other's extensions to the language more legitimacy by having a second implementation? It doesn't seem like language extensions get so much attention in C++ codebases (but maybe I'm mistaken)?
- tialaramex 4y agoC and C++ programmers who write only or mostly for a single platform often have some extensions they insist on, and may even regard the standard language (lacking these features) as defective. Linux won't compile in MSVC. Obviously it needn't, it's a kernel and not a Windows program, but it also can't, because it needs GNU extensions, which are now also implemented for Clang. If you write broadly cross platform software for C++ you are committed to supporting all three compilers and so that's effectively just the standard. Indeed if all three do or don't do something de facto that is the standard. The ISO document used to say C++ has optional garbage collection, it doesn't because none of the three compilers have that. The ISO standard still doesn't say pointer provenance is a thing, but all three compilers require it, so in fact it's a thing.
- derefr 4y ago> The ISO document used to say C++ has optional garbage collection I'm intrigued; what was this feature supposed to look like?
- tialaramex 4y agohttps://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2670.htm https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n26... The standard basically said, if your compiler supports this new feature, here's how you use it in your programs. And no compilers have ever supported the feature. So C++ 20 rips it back out.
- kleingeld 4y agoI believe one could avoid BangPatterns by using seq.
- jesse__ 4y agoI think his point is that a naive implementation of an extremely simple function uses 35x more memory than the 'optimal' implementation, which is not at all obvious without knowing internal details of the compiler.