Development Notes: January 4th 2020
- Here is my current way I would describe this project.
- There is a core library that is built around the functions:
setup, teardown, apply and list.
- The MVP command line will have
apply and create.
- The core library doesn’t have to a way to parse queries currently but I might need a way to create a query from a filepath:
FilePath -> IO (DB ()) (or should it be FilePath -> IO (DB a)?).
- We need to make an autosetup interface for just
apply. The properties that the setup necessary apply must statisfy if the db has been setup are the properties that auto-setup apply must have. The setup necessary apply must pass a superset of the auto-setup apply’s properties. I’m not being very clear.
- I’m not sure if I will ever expose the more complex interface or not. But it is also an implementation for the auto-setup interface.
- That is all the core autosetup apply interface must specify. And there must be a way to adapt the
apply :: IO () to reuse the tests.
- If a core test fails against the executable we can rerun on different levels to find where it is breaking.
- Things I need to do
- Make the autosetup
apply only hsig (and project!).
- Make the
apply with setup adapter.
- Refactor the
apply properties to the autosetup Spec and have the with setup Spec depend on it.
- Make the new cmdline hsig.
- Make the
apply :: IO () adapter for the core properties.
- Finish the tests for cmd line interface.