akka.net icon indicating copy to clipboard operation
akka.net copied to clipboard

[HOCON 3] HOCON interface proof of concept

Open Arkatufus opened this issue 3 years ago • 1 comments
trafficstars

This is a proof of concept that extracting an interface from the current HOCON implementation is possible without a major change inside the code.

Arkatufus avatar Mar 08 '22 02:03 Arkatufus

This looks good to me after having had a chance to discuss it with you - it looks like you've correctly isolated all of the abstract HOCON behaviors into a set of immutable / read-only interfaces that can be used to guarantee caller-side behavior works the same across different implementations.

The next phase of this project is working these changes back into the stand-alone HOCON library and determining if these interfaces are flexible enough to allow us to meet the goals of https://github.com/akkadotnet/HOCON/issues/267 - if they can, we should proceed with a lightweight, simplistic prototype that does the following:

  1. Separate read / write models
  2. Guaranteed / verified via testing immutable read model
  3. Extremely fast reads

We can add "later stage" features in the future such as:

  1. Substitution
  2. Environment variable support
  3. Microsoft.Extensions.Configuration support
  4. The full HOCON spec (I'll leave it to you to define what constitutes a "minimally viable" HOCON implementation, for proof of concept purposes)

But for the time being, the next step is to prove that these abstractions work. If they fall apart in the course of implementing HOCON3.0 we'll need to revisit them and propose making some bigger changes to the underlying HOCON interfaces as they are today.

Aaronontheweb avatar Mar 15 '22 20:03 Aaronontheweb