- Real functions instead of having to use 'echo' to return values
- Parsing script params also defines autocompletion (think completion parser combinators such as those found in SBT (Simple Build Tool))
- Support for FRP (funtional reactive programming) would make interacting with streams and sockets much easier
- Support for JSON streams as well as plain text
Maybe one day I will finally get the time to write such a shell.
Recently, I've become somewhat enamoured of the Shelly library for Haskell, for my "bash that's grown too big".
"And as a final note, I'd love it if there were a standard option to get JSON output out of your typical Unix command-line tool. This might be of limited utility in Bash, but when calling tools from Python, for example, it would make many things a lot easier."
Tooling up Bash to deal happily (generating, processing, consuming) with JSON would be fantastic - it would help make all the world's JSON API's available first-class! It seems that jq is a great start here.
What it sounds like is that the author wants a superior replacement to Bash. Having recently written hundreds of lines of Bash script, I feel the author's pain there. I've used Python for other things, and it made some things better and some worse. In particular, Python could make calling external programs and parsing their output easier, but I don't think that was ever a design goal for the language.
I think the language that comes closest to addressing the author's vision might be Powershell, but it's stuck in the Windows ghetto and doesn't seem to have had any influence on other languages and certainly not on any Unix/Linux-friendly languages. That's probably too bad.
And as a final note, I'd love it if there were a standard option to get JSON output out of your typical Unix command-line tool. This might be of limited utility in Bash, but when calling tools from Python, for example, it would make many things a lot easier.