[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

Reply via email to