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

Reply via email to