-
Notifications
You must be signed in to change notification settings - Fork 33
Description
Hello!
I learned of this project from the README to Brush - https://github.com/reubeno/brush/blob/main/README.md
And I learned about Brush very recently, in this thread - https://news.ycombinator.com/item?id=43908368
I'm the author of https://oils.pub, which I thought was the only project tackling bash compatibility! :-) (other than toybox, which I contributed to a bit back in 2016)
I think it's impressive how far brush
and sush
have gotten, although I also think there is a BIG duplication of effort!
So I made these reports to assess that, based on our spec tests:
https://pages.oils.pub/spec-compat/2025-06-19/renamed-tmp/spec/compat/TOP.html
I always intended OSH as an "executable spec" or "language definition", for other people to build interactive experiences on top of, e.g. GUIs, or something better than GNU readline:
https://www.oilshell.org/blog/2023/12/screencasts.html#headless-protocol-oils-web_shell
So it would be nice to collaborate in some way, and reduce the duplication of effort.
I talked to the author of Brush - reubeno/brush#563
And one idea is to share some tests ... I was even thinking we can make some kind of "Bashix" spec that is bigger than POSIX. You can see in the reports that many shells now agree on bash behavior, which is not in POSIX
This way users have a more stable language to target! One reason I started the project is because I thought bash was poorly documented and implemented, e.g. if you compare to say CPython, which is a codebase of the same age
(in particular there was confusion of empty arrays and unset arrays, etc.)