The forums ran from 2008-2020 and are now closed and viewable here as an archive.

Home Forums Other Slow compile times with Sass/SCSS? Reply To: Slow compile times with Sass/SCSS?


Have you checked out Stylus?

I have not. Looks nice enough. I haven’t read through the docs, but two off-the-cuff objections:

  • The arguments keyword for functions is a terrible idea, in terms of robustness and troubleshooting. something like args[name] or args[n] would be far better. (It looks like they might allow for named args, which would be cool, but -like I said- haven’t really read it yet.) In this same vein, variables/functions/mixins/whatever should have something that distinguishes them from literal values.
  • Look at JavaScript’s “bad parts.” Look at PHP. “everything optional” is a recipe for disaster. SASS allows users to choose the syntax they like while still promoting consistent, easy-to-proofread code. Stylus looks like it is being marketed to lazy (butNotInTheGoodWay) people who want fragile, messy code.

The lack of any brackets or punctuations looks like complete anarchy to my brain.

There is blocking and punctuation; it’s simply composed of whitespace. (The authors clearly don’t understand the meaning of “pythonic,” though!) A blank line starts a new block scope. Keys and values are separated by a nonbreaking space. This part doesn’t bother me as much, but, combined with the “everything optional” philosophy, you’re headed for trouble. (Optional parens around args on function calls?? idiocy!)

In any case, SASS is much more my cup of tea.

I will literally never understand some people

Talkin’ bout me or them? : )


Alright, got as far as the second rule on the first pages of the docs before finding a perfect example (delimiting selectors with commas is optional unless the selectors “look like properties.” Sound familiar (javascript’s semicolon insertion, anyone)? Meaning, this feature is optionally broken).

To be blunt, so far, everything that looks nice about this language is lifted from SASS anyway.

edit #2:

Yeah… keep reading… “root reference” (the “BTW block scope is optional” operator) and “disambiguation” (the “our function syntax is broken” rules) look like barrels of fun.