Due to a project I'm working on, I need a general-purpose command language. That is, a language optimized for writing ~80 character programs that mostly call external functions, piped together in an interesting way. Some things, like type-directed parsing, seem like a good way to improve upon POSIX sh, but I'm wondering what else I'm missing that would be nice.
Currently on my list of things to try:
- Type-directed parsing
- Unifying piping and arguments (some sort of "stream" abstraction, maybe)
- Semi-structured content (structured content isn't great for very short programs, since the user is actually looking at a decent chunk of the outputs; but semi-structured content means less endless reparsing)
I've also been toying with replacing linear piping with a general graph structure, but that seems far too complex to be worth it.
I'm hoping to aleviate the need for a full-fledged language by allowing easy scripting (in JS), so that narrows down the problem domain significantly...