pull down to refresh
10 sats \ 0 replies \ @orthzar 25 Nov 2023 \ on: Shh: Simple Shell Scripting from Haskell tech
I've seen similar shells, where the implementation language is used as a Unix shell language. While such shells might seem attractive, they are almost always pointless.
Because, they only replace half of what Unix shells do, namely the languages of Unix shells. The more complex part of Unix shells is that they are designed to glue together C programs. Unix shells like Shh do not replace that part, which cripples their long-term utility.
When you have a language that can compile code on-the-fly (e.g. Haskell, Lisp, etc), gluing C programs together is self-defeating. You have a very powerful language at your finger tips, but you only use it to run cheap C programs. For some reason, shells written in languages like Haskell and Lisp seem to always do this -- only providing a somewhat better glue language.
For instance, the Shh readme demonstrates the use of sha256sum, a C program, despite the fact that there are SHA256 implementations written in Haskell. All the benefits that Haskell provides are ignored, simply to make Shh seem more familiar to Bash users. But why would they abandon Bash for Shh?
Many of the complaints that users have about Linux command line are not addressed by shells like Shh, because those shells depend on C programs, which are the primary reason why Linux seems so user-hostile.
Unfortunately, the only alternative to Unix shells are GUIs, which are usually front-ends to many of the same C programs that the shells use.