Mach30/m30pm

Future commands

Opened this issue · 1 comments

We were talking about potential new commands at a recent work session. This is where the init command idea came from.

Another command concept was brought up: CRUD for m30ml elements (for instance adding a new reference or modifying a data structure). I have been thinking about this and want to capture my thoughts about it.

  • This concept is one of several core features in sliderule (a sister tool to m30ml and using the same core technology). Implementing it in the m30ml core would open the possibility to implement the next rev of sliderule with the m30ml core.
  • I think we could use reflection on the architecture model to implement this concept. The definition model for any architecture described in m30ml has templates for data structures that include documentation, typing, etc. If we are not defining enough details to use reflection then I think the utility of using reflection for the CRUD operations would be reason enough to extend the m30ml language spec.
  • I think we should abstract the core functionality enough that tools implementing data storage and retrieval can implement different storage systems while still leveraging the core engine for CRUD operations on the in memory representation (like an MVC model abstraction layer).

Speaking of MVC, here is an interesting blog post on applying MVC to CLI apps - https://dzone.com/articles/poor-mans-console-mvc