Frankly I am a bit despairing at the degree to which this "it's not so bad, let's just keep adding costs" thinking pervades the ongoing trajectory of the thing. I said so recently and publicly and it got a rebuke from the language team that IMO missed the point entirely. So: sad.
-
-
Replying to @graydon_pub
i kinda agree, there have been multiple times where i've brought up hidden costs and kinda been sidestepped :/ (the breaking change bit also bothers me, rust *already* has issues being stable with larger codebases. firefox has hit this a bunch of times)
3 replies 0 retweets 7 likes -
Replying to @ManishEarth @graydon_pub
I’m normally conservative with language changes these days, but this is one area in which I don’t actually care. I think LL(k) is a property that doesn’t matter at all.
3 replies 0 retweets 4 likes -
If you’re parsing Rust for any practical purpose, the complexity class of the grammar isn’t in the top 10 things that are difficult. It isn’t even in the top 100.
1 reply 0 retweets 7 likes -
The things that make parsing languages difficult are things like C’s lexer hack, or the way C++’s template expansion affects parsing. Not theoretical complexity class of the grammar.
3 replies 0 retweets 2 likes -
those are definitely the *biggest* factors, but grammar complexity class isn't completely irrelevant- especially since we've managed to avoid the C family's missteps
1 reply 0 retweets 0 likes -
a lot of parsers are little simple things- editor syntax specifications, quick fuzzy searches, cross-language tools, (unfortunately) proc macros. every little bit of complexity in the grammar makes things harder there
1 reply 0 retweets 3 likes -
I completely forgot about procedural macros! They make parsing so much more difficult as to make LL(k) not even relevant as a concern in comparison.
1 reply 0 retweets 2 likes -
not really? they work almost like comments when it comes to parsing, except you tokenize their innards (unlike comments)
1 reply 0 retweets 1 like -
Of course they’re easy to *tokenize*, but they’re not easy to *expand*. Any tool that does not expand macros is broken.
3 replies 1 retweet 3 likes
We had this discussion early on in Rust’s lifetime. Making the language more difficult because it makes easier for people to write non-macro-expanding parsers is not a good trade. It’s making life harder for everyone so that people can write broken tools more easily.
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.