3 ms·
Yep. The solution to comma issues isn't to put every single one in a place nobody usually puts them - it's to be more forgiving about allowing the occasional tr
by andybak 7y ago
Yep. The solution to comma issues isn't to put every single one in a place nobody usually puts them - it's to be more forgiving about allowing the occasional trailing one.
- twblalock 7y agoThe solution is to get rid of them. They are not necessary.
- Gabriel439 7y agoAuthor here: commas are necessary to separate list elements in any language where function application uses whitespace (i.e. Haskell-style function application). If you're not familiar with the syntax, an expression like `f x y z` is a function `f` applied to three arguments (`x`, `y`, and `z`), analogous to `f(x, y, z)` in a more traditional language. Nix made this mistake of using whitespace to separate list elements AND using whitespace to separate a function from its argument and it is a very common pain point for new users, because they will write something like this: [ theFunction theFunction'sArgument ] ... thinking it will be parsed as: [ (theFunction theFunction'sArgument) ] ... but it actually gets parsed as a list with two elements, leading to a bizarre type error.