smoosh
smoosh copied to clipboard
The Symbolic, Mechanized, Observable, Operational SHell: an executable formalization of the POSIX shell standard.
There is duplication in shim.ml in smoosh and ast.ml in libdash. With recent work on PaSh [helping to improve the libdash parsers](https://github.com/mgree/libdash/commit/aa1d95ae6e31786b35d5479cc7f77d38ecfbc513), we should move Smoosh over to that infrastructure....
`TEST_UTIL` and `default.env` are a weirdness. Can we simplify things? Incoprorate some of Thelford's ideas from [smoosh-fuzz](https://github.com/mgree/smoosh-fuzz)?
~~Things are a disaster. I have to unset `SDKROOT` when on macOS to get a build to work. (But I need it set to get Haskell to work.)~~ Ideally we...
`++` and `--` aren't required, but we should have them. https://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_04
With #36 (a fix for #21, among other things), escaping is explicit in `words`. It's still the case that `expanded_words` and `intermediate_fields` use backslashes to escape things. It would be...
I'm unsure where the POSIX specification mentions this, but all of the implementations I tried (bash, dash, mksh, zsh) seem to agree on it.
Our fork is currently several hundred commits behind. What new bugs await?!