Re: [csswg-drafts] [css-conditional-4] Rename @when to @if (#6684)

The `fantasai` prefix is really confusing, at least until you see a different second name after it after having already read 20 lines and thinking they were by fantasai.

<details>
<summary>Something like this would probably be more clear</summary>
<markdown>
Topic: @when vs @if

* lea: We all know that we have at-rule to unify all our conditionals: @media, @supports, new things
* lea: Right now called @when, only because @if conflicts with SASS
* lea: I don't think that's sufficient reason to go against the convention of almost all computer languages
* lea: Almost everything uses "if"
* lea: We are going against any precedent that CSS authors are likely to be familiar with
* lea: Even spreadsheets use IF
* lea: Whereas @when would need to be used specifically for CSS, and it seems really weird
* lea: 10 years down the line will be a weirdness in CSS
* lea: and we might not even remember that SASS was using it
* lea: There are ways for SASS to get around it
* lea: Not the same as when conflicts with libraries that are actively running on websites
* lea: e.g. when TC39 decided on a different name with protoptye
* lea: but SASS is a preprocessor. It's much easier to migrate syntax when preprocessing before website is deployed
* lea: when you run website using SASS< you're not running SASS, you're running the generated CSS
* lea: The only conflict is when SASS itself runs
* lea: easier to get around
* lea: I don't think we should do something that decreases usability for the core language, for millions of CSS authors, because of this 3rd party tool that uses @if
* lea: If it was the same usability, then why not be nice and use @when
* lea: but I think it's significantly less usable to use @when, and I don't think the tradeoff is worth it
* TabAtkins q+
* Rossen_ +1
* bmathwig +1
* TabAtkins: I very strongly disagree with the argument Lea just made here.
* tantek +1 Lea
* TabAtkins: In general, I don't.
* bradk +1 Lea
* TabAtkins: Generally CSS should make the best decision for its future, and everything else is secondary
* TabAtkins: that said, it's not absolute
* TabAtkins: we do sometimes make decisions based on the impact on the ecosystem
* TabAtkins: authors are more important than purity
* TabAtkins: we have to consider how bad it is for authors generally, vs authors using the tool
* chris +1 Lea (and +1 the original resolution, which specified @if)
* TabAtkins: we made that decision e.g. in grid line names, switching from parens to square brackets
* TabAtkins: here the impact on SASS far oughtweighs the impact on future CSS authors
* lea all of you plus-one-ing maybe could also q-plus yourselves and speak up? :)
* TabAtkins: I've talked with Natalie ??? main develper of SASS
* bkardell_ fwiw i do not feel that it is worse. If we took sass off the table entirely I'm not sure I have very strong feels on if/when - both feel very learnable and not quite exactly comparable to other things
* TabAtkins: her thought is that if CSS adopts @if with different semantics than SASS's @if, would be a major problem
* lea q+
* TabAtkins: have problems upgrading SASS for much more minor issue sthan this
* TabAtkins: If 'if' was the only reasonable name, different case.
* TabAtkins: but "when" is used in various places, e.g. the new JS proposal (use of when predates me)
* miriam q+
* TabAtkins: used in Ruby and common LISP as variant on "if"
* TabAtkins: iT's easy enough to understand, perfectly serviceable word, makes sense in English
* dbaron s/Natalie ???/Natalie Weizenbaum/
* TabAtkins: so harm to significant section of authors using SASS right now
* TabAtkins: vastly outweighs harm to future by using if
* TabAtkins: I would formally object to using @if
* TabAtkins: this would be extraordinarily bad
* iank_ Is it possible to get Natalie on the call?
* Rossen_ TabAtkins, there's nothing wrong going down the FO path for this
* lea: CSS has an extension mechanism, prefixes, and any software that wants to extend the language can use prefixes
* Rossen_ q?
* lea: SASS didn't do that. They could have done @-if or things
* lea: How far are we going to go to avoid clashing with SASS? if we add loops do we avoid using "for"?
* lea: I disagree strongly that "if" and "when" are roughly equivalent in suability
* tantek +1 Lea
* lea: even if they were equivalent in English
* bradk Isn’t sass @if different in that it doesn’t normally have the parentheses that we would require?
* lea: "if" has much stronger consistency
* lea: Also in English, when implies something is time-based, whereas 'if' does not
* lea: many people in the thread, including native and non-native speakers
* tantek +1 very much sold that "when" also implies time-semantic which is inappropriate here.
* lea: expressed [confusion?]
* lea: We have accommodated SASS in the past, but in cases where both options have equal usability
* chris PostCSS also has @if (and also @else!) https://www.npmjs.com/package/postcss-conditionals
* lea: I'm not sure how widely-used SASS is at this point anyway, community seems to be shifting to PostCSS
* chris q+
* lea: I'm not going to make threats about objections, but I also feel very strongly about this
* query tantek 
* miriam: Want to re-iterate Tab's suggestion that this would be pretty devastating to SASS if we made this change
* miriam: and SASS is one of the larguest, most used tools in CSS
* miriam: just went through adding "flashes", which was a massive hit
* miriam: I can't claim to be unbiased, part of the SASS team
* miriam: but I think causing that much disruption to such a widely-used tool isn't worth the few characters
* miriam: I hope we can avoid doing that much damage
* lea +1 Rossen_
* chris: SASS also has @else. Are we going to rename @else to @elif or @elsewhen or something else?
* chris s/SASS/PostCSS
* astearns: Out of time, Tab can you ask Natalie to comment?
* astearns: scope of the damage has been assigned adjectives, but it would be nice to go through the details of what SASS would do if we chose @if
* dbaron If we can't agree on English terms to use... at what point do we start using terms from other languages?
* tantek I have a problem with object to allowing the design of CSS to be hamstrung or "made weird" by any legacy frameworks decisions, especially by frameworks that are pre-processing only and are thus not aprt of any archived content on the web
</markdown>
</details>

-- 
GitHub Notification of comment by Marat-Tanalin
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/6684#issuecomment-1064641633 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Friday, 11 March 2022 00:10:56 UTC