[disclaimer: I'm not a fish developer, just an enthusiastic user] My impression is fish does want to be a good scripting shell (sane variable and command expansion without "${horror[@]}" alone is worth its weight in gold) but admits that it will take some experimentation to find the "perfect" syntax. [Which is not just about being pretty. Bash script have a stable meaning but that meaning is *bad*, resulting in most scripts having bugs (stable and well-defined bugs) *because* writing the fully correct script is too hard.]
A primarily interactive shell *can* afford the luxury of occasional incompatible improvements, while still being useful. Completely freezing the language now would IMHO do more damage than good. Personally, I'm in for the ride :-) It's not yet polished enough, and the community and body of existing code is not yet huge. Yes, at some point I expect fish will have to become more stable. I'm not sure just freezing the language bug-for-bug will be a good idea at *any* point — that's how we got overly complex things like zsh. But there are strategies to do careful evolution with "pragmas" and gradual deprecation->warning->error->quiet period->new meaning transitions. (Look how much Python 2.x managed to change *before* it pulled the more painful Python 3 break.) Till now, devs have resisted any behavior-switching pragmas, on the theory of minimizing configuration and avoiding many dialects of the language. ---- If you want fish to become more script-worthy, https://github.com/fish-shell/fish-shell/issues/805 is one of the important issues.
------------------------------------------------------------------------------
_______________________________________________ Fish-users mailing list Fish-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/fish-users