Logical Numbers? - Planning 2018-10-10
In this post:
- Coverage is trialing Who Tests What, which means I should be able to retire Divide and Cover.
- I've got an ambitious project idea, not in terms of what the code accomplishes, but in terms of tooling and process. My hope is that the disruption of learning each new bit will be localized.
There are a few things I want to look into this week.
One is retiring the Divide and Cover repository. My plan there is to set the development status to 7 (I think), add a no maintenance intended badge to both, publish new versions of each on PyPI, and archive the repository. Have a message in there about, moving forward, want to be using Coverage 5+.
Later, I can look into how the Coverage prereleases actually work, I just... really don't want to deal with this code more than I have to, after all of the contortions I've gone through with it.
The big thing I want to do this week is use the arbitrary-sized integer functions I've been messing with, to get a handle on testing and documentation in Prolog, and potentially setting up a Prolog project with continuous integration and workflow bots. For this, I also want to try out the GitHub Desktop app again, see if it handles GitHub's workflows better than non-opinionated tooling.
So, for that part of things, I need to:
- Create a new project, and manage it through the app.
- Look at Prolog project layouts.
- Create a directory tree in the project, in accordance with the previous bullet point.
- Copy my current file into the tree. For now, do not make any changes to the code's behavior.
- Document the intended behavior of the various predicates.
- Write tests against the documented behavior, file bugs against the failures.
- Set up CI, probably with Travis.
- Mark the failures as expected to fail.
- Figure out which services will usefully interact with this. I don't know if anything consumes the coverage data that Prolog can produce.
- Set up bors.
- Stop committing to master.
- Start fixing bugs, on temporary branches.
I'm not certain I couldn't do all of that this week by going flat out and ignoring all of my other obligations, but I'm certain I can't do it all if I don't do foolish things. As such, I'll just make some amount of progress on the above, and that will be that. I don't have strict day divisions in mind, but I'd at least like to get up through documenting code by the next entry.
The overall goal is to get some experience with tooling in Prolog, using basically a toy problem, but one that admits sophisticated solutions.
Next time, I'll hopefully have cleared away the Divide and Cover repository, and gotten started on, I don't know what to call this, Logical Numbers?