147 karma · joined August 28, 2017
Game publishers also tend to advertise their content on said review sites and youtube channels so that would be another income stream gone.
A lot of languages have working lsp implementations (at least according to https://langserver.org/) and, assuming it will stick around, this means that emacs can get all of these nice features "for free" by having an lsp implementation. This is a much safer bet than just assuming that somebody will provide and maintain emacs plugins for <insert language x here> that provide everything that lsp would.
I guess it mostly comes down to the fact that players just didn't notice a lot of things (the "blind" status effect in Final Fantasy 6 did nothing, but this is really hard to notice as the hit chance it affects is called a chance for a reason) because they didn't know how things were supposed to work or they just worked around bugs if possible because patches often weren't an option.
[Edit]: I'm not trying to argue that the current way of things is in any way better than the old, both have their fair share of pros and cons.
Macro.to_string(quote do: length([1,2,3]))
will return "length([1,2,3])", so it basically creates a macro that, if included in some code, will calculate the length of the list [1,2,3] at runtime. Macro.to_string(quote do: unquote(length([1,2,3])))
will return "3" instead, it basically executes the length function at compile time and then the macro will simply return that if called.So the code example you provided basically calculates the byte size at compile time and will then only return static results at runtime.