So somehow this paper misses one of the greatest developments in this area, oil https://www.oilshell.org/ - which:

1. has a compatibility mode with sh and bash. it's the only new shell I know with a upgrade path from bash [0]

2. otherwise fixes tons of unix shell misfeatures and in particular fixes quoting hell [2]

PS: one fun quirk of the oil implementation is that it's written in Python.. but actually in a DSL that generates statically typed C++ code, ditching the Python runtime altogether [3] [4] - when you do compile Oil, you just get a C++ tarball (somewhat like fftw, a FFT package written in OCaml but which generates C code; fftw developers write OCaml, but fftw users compile C)

[0] https://www.oilshell.org/why.html

[1] https://www.oilshell.org/blog/2020/01/simplest-explanation.h...

[2] https://www.oilshell.org/release/latest/doc/idioms.html

[3] https://www.oilshell.org/blog/2021/01/why-a-new-shell.html#w...

[4] But actually I think there's still work to do to remove the CPython dependency at runtime, https://github.com/oilshell/oil/issues/636

That paper misses a lot. Including:

- murex https://github.com/lmorg/murex

- Elvish https://github.com/elves/elvish

- NGS https://github.com/ngs-lang/ngs

- Powershell

- And any language REPLs turned into shells, such as Python, LISP, Lua and others.

The author did say there is more to follow though so maybe the scope of this article was a little more closed by intention.