Email or username:

Password:

Forgot your password?
tired blip

I've used *a lot* of "try to replace bash/zsh/dash/ash/fish" types of shells. Most of them I wind up not liking after a while because they get a little too crafty and a little too much like "real languages" than a shell language. Elvish was maybe the closest I ever got to liking such a shell, but I seem to recall various quirks driving me away.

Koi, koi-lang.dev, looks like maybe my next such toy to play with. Seems to *really* keep that "hack it up" shell spirit, but elegantly.

9 comments
tired blip

Well, the problem I guess seems to be that while I'd assumed from the read-through that there was an interactive mode, it looks like maybe there actually isn't. There's a "read from stdin" mode, but there's not an outright interactive shell yet? Ah well. The concept is really neat.

Csepp 🌢

@klardotsh eshell? or is that not cursed by 70s tech enough? 😅
(ipython can also be used as a shell btw)

Milo 2600

@klardotsh is there a reason for trying to replace more standard shells? I like the standards 🤷

tired blip

@milofultz there's lots of warts in POSIX sh (and its descendants) that I get tired of (many of the things shellcheck will find for you in a shell script are kinda infuriating to have to ever think about, IMO), and I don't really think we've found the "end game" in interactive shells with them

whether the problem is actually practically solveable, I'm not sure: I find many shells "interesting" but find that they don't integrate with existing tools well, and thus chicken<>egg in a way

H3RALD

@klardotsh Ahhh you reminded me I actually tried really hard to implement an alternative shell in my min programming language: min-lang.org/learn-shell/

The idea isn't that bad: apart from the slightly counter-intuitive postfix notation, a concatenative language should work well as the basis for a shell (no need for pipes, weehee!). BUT I am not happy of the result so far because...

H3RALD

@klardotsh

1) you need to quote file paths (but you do have auto completion for files when you start typing "something

2) the ! sigil must be used to execute programs *and* arguments need to be passed in prefix notation

I should try to improve this though... any idea is welcome! 😊👍

H3RALD

@klardotsh One language that may actually be a more natural fit for building a shell is actually TCL (especially about the string quoting thing). I remember trying out JimTCL and jimsh a while back: jim.tcl.tk/index.html/doc/www/

The project was started by Antirez (Salvatore Sanfilippo, probably one of the few great programming minds my country contributed to the world), of linenoise and redis fame, and the shell does come with linenoise obviously for line editing.

tired blip

@h3rald wait off topic but WHAT no way, you're the min author?! I played with that briefly back in like 2021ish and thought it was super neat :)

slgr

@klardotsh what do you think about nushell? I’ve been experimenting with that a bit recently and have been liking it

Go Up