Jan Kanis wrote: >> - needless incompatibility with bash, which makes copy-pasting and >> shell-scripting harder for me > > Incompatibility with bash syntax is a necessity to have a cleaner > syntax like fish's. It's inconvenient, but the alternative would be > worse imo.
tradeoffs: - random users helping you on forums/IRC in places, will know Bash syntax. You have to be aware of this. - objectively, Fish syntax does have fewer silly things to remember. - There are times on other people's computers when I don't even have access to Fish and have to be able to use bash. Or sharing code, ssh, etc.etc. It's the same reason I've stuck with QWERTY keyboard layout instead of switching to Colemak (or the more famous Dvorak). My dream is that a sufficiently helpful interactive shell can quickly remind you all silly aspects of Bash syntax that you need to know. No language is perfect. And others might choose different tradeoffs than me, which is fine too! >> Or will I be frustrated >> enough to write my own Bash-wrapping shell in Haskell? :-) (I guess the >> basic way to do that would involve my process spawning a "bash" process >> whose stdin consisting of command lines is attached to my process... I >> hope there aren't too many gotchas there; I wonder how terminal-seizing >> processes like 'less' work then...) > > Browsing through some old fish-users posts I learned that there exist > things like terminal groups and terminal group leaders, and probably > lots more ugly terminal handling related stuff I don't want to know > about, which (I think) all lives in kernel-mode land. I suppose you'll > at least need to make the subshell talk to haskell through a pseudo > tty, like screen does. If you're going to hack away yourself anyway, > you could also consider adapting the fish sources to your needs and > running your own version (and sharing any bugfixes you make while > you're at it). tradeoffs: - all that stuff *is* so ugly and not completely understood by me, which is partly why I was just going to stick with existing bash-interpreter and only implement a terminal interface. I wonder if I can/should use the bash code as a library... - There is a certain amount of readline-ish implementation that does need to be on that annoying implementation level: how to display syntax hilighting to the terminal, do tab completion, and a few more things. Maybe this is where I should try and share code with Fish (can one of you point me to which Fish source files are for doing that stuff?) thanks! -Isaac ------------------------------------------------------------------------------ Crystal Reports - New Free Runtime and 30 Day Trial Check out the new simplified licensing option that enables unlimited royalty-free distribution of the report engine for externally facing server and web deployment. http://p.sf.net/sfu/businessobjects _______________________________________________ Fish-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/fish-users
