As mentioned in the last two posts, I'm slightly shifting the direction of the project.
Prior to the OSH 0.0 release, I was already planning the
0.1 release. I wanted to polish the error messages, and I was excited about
new features, like a better
set -x (
But now I think it's better to concentrate on the Oil language for the next few months. I've barely worked on it since February, when I translated shell to Oil.
This post is a list of topics to write about, many of which support the focus on Oil over OSH. Please leave feedback if anything doesn't make sense.
(1) Project Retrospective. I've been working on Oil for 16 months, and blogging for nearly 10 months. I want to look back on what happened.
(2) Possible Directions for Oil. Any one of these subprojects has enough work to fill the rest of the year:
And I haven't even talked about awk and make! This project is big.
(3) Roadmap #5. Although there are many Oil subprojects, one is more important than all the rest: the Oil language.
The top priority is to make a prototype of the Oil language by the end of year.
(4) Elevator Pitch for Oil. Many people are excited about Oil, but others are skeptical. They don't see that a new shell is necessary, and aren't convinced that Oil will be worth their time.
I think I can do a better job of communicating what the project is about. In January, I tried to explain the project goals, but I think it was too broad. It was more a list of everything that a shell could be, rather than what Oil will be in the near future.
So I need to focus the project, and formulate a concise "elevator pitch" for the parts that will be done in reasonable amount of time. Awk and Make are still far off.
(5) Conversations with Friends. I've had a few conversations recently that have helped me focus and explain the project more convincingly. A dialectic is often a good way to explain something.
(6) Future Work on OSH. Though I plan focus more on Oil, there are still things left to do in OSH. I'll prioritize the ones that will help with Oil.
For example, I haven't yet implemented C-escaped strings like
$'\n' in OSH.
Strings in Oil will be C-escaped by default, so the implementation can likely
I also need to sort out a few issues with static vs. dynamic parsing.
I outlined six possible blog posts, but these two things are the most important: