I think this discussion would be easier if we separate out two distinct questions:
- How should we standardize FFI calls, timestamps, and other such interactions between the RM backend / controller and the RM application?
- This is not a question of behavioral properties of applications. It’s just a question of where to put the data (which we need to decide and specify). This should also not in any way restrict what kinds of applications can be built on top of the RM.
- How should we standardize semantic patterns in applications?
- This covers everything else in @Michael’s post and this one.
- We do not need to have a “forever” answer to this question for now, we just need a workable one. This should also not restrict what kinds of applications can be built on top of the RM. We can require that certain fields have a certain format for “applications written using the standard library in Juvix” without requiring it in the RM design or specs (but we should write down what that standard format is in some specs).