Direction of Composition

Same. I like how effects flow top-to-bottom/left-to-right (unless in RecursiveDo :sweat_smile:) and pure data flows from definition towards the declaration (foo = bar + baz quux).
Mixing reading directions makes my head spin not unlike reading C declarations (which are horrible mess IMO).

2 Likes

For the record, bash has no idea what any args for any commands do, and indeed there’s no notion of a string argument in bash*; they’re instead just called words. "something" above could have been equivalently written as something. The only reason to use quotes is in case there might be a space in the argument and you want to make sure it’s treated as a single word e.g. "$1" instead of $1. Double quotes allow for interpolation, single quotes don’t.

*there are exceptions, for example arguments to [[ do have a notion of what is a string, but unlike /bin/[, [[ is not a command, but part of the bash syntax, so those are not really arguments in the same way.

2 Likes