I don’t have an account on Zulip nor on IRC. What is “!qefs” problem, as no search engine reveals it?
"$Quote" "$Every" "$Fucking" "$Substitution"
FWIW Googling “qefs bash” shows a bunch of references. I thought it was funny the first time I saw it … If I think back to 15 years ago when I first wrote bash, I think a code reviewer told me the same thing, haha.
Thanks for posting this. I was initially disappointed when I learned that Oil would be a superset rather than a translation target for OSH, but after reading these notes it makes a lot more sense. I’m really looking forward to seeing where this goes, and wish I had time to contribute.
Minor usage nitpick: when you say “reign in complexity”, you really mean “rein”. It’s a horse rather than a kingship metaphor. Funny how languages evolve!
OK, I’m glad it makes sense! I’m surprised more people haven’t pushed back on this, but I guess I explained it in many different ways.
Thanks for noticing the typo! Fixed :)
I’m one of those people! I didn’t realize I was in the target group for Oil until now :)
Yes I just changed the definition of Oil to make this more clear:
The shopt -s simple-word-eval algorithm gets rid of “word expansion” and makes it a much simpler “word evaluation”:
shopt -s simple-word-eval
It may be less familiar than Python or JS, but on the other hand you will gain a lot of shell idioms that you can’t do in Python or JS. (This may or may not matter depending on the problem)
The main difference is that Oil retains the bare words syntax for typability. And it has pipelines, && for sequencing, etc. Otherwise, it has Python-like data structures (still in progress), which is natural because it’s implemented in Python!
More background: How to Parse Shell Like a Programming Language