Home

Review of Roadmap #4 (abridged)

2017-07-29

In March, I wrote Roadmap #4, with two major goals. I didn't follow the roadmap that closely, because I decided to ship the Python prototype!

I'm glad I did that, because it's better to get feedback early. But in any case, let's quickly review what happened.

1. Testing Enhancements for Contributors

I wanted to attract contributors, so I made plans to enhance the tests.

But in the last 5 months, I haven't gotten any major contributions. I have got a few build patches, which I appreciate.

In retrospect, I don't think the tests have made a difference one way or the other. It may have been too early for others to work on the code. I made some big changes, like reorganizing the whole repo, porting the code to Python 3, then porting it back to Python 2 for OVM!

It was probably odd to ask for contributions in Python, while simultaneously declaring that it would soon be rewritten in C++.

Now I can see that the C++ port won't happen. The code may be slowly adapted via OPy, but I probably won't start that until next year.

Although I didn't do things like publish the "wild tests", I think the tests are in good shape overall. Let me know if you disagree. The Contributing wiki page has instructions on how to run tests. And I've been keeping track of tests stats in the blog — for example, at the top of yesterday's post.

Another Try?

Now that I've released OSH, I'd love help implementing the long tail of shell features. We won't step on each others' toes because I'll be working on the Oil language for the next few months.

Let me know if the code or development process are confusing. How I Use Tests is a good overview of how I work. Also let me know if you want a suggestion for a concrete task.

2. Shell Runtime in C++

I wrote Roadmap #4 before I found a solution to the riskiest part of the project, so this goal is obsolete. You can see that I had a different conception of OVM when writing that post. Rather than being its own VM, I now think of OVM as a slice of the CPython VM.

Shipping early allowed me to get feedback from the 0.0 release. The feedback was good, but if I step back a bit, it seems to indicate that OSH isn't as compelling to end users as Oil could be.

Next

So I'm making a slight change of direction. This post and yesterday's post looked backward. Now I want to look forward and write about my plans for the Oil language.