Skip to content

Commit

Permalink
formulate roadmap for v1
Browse files Browse the repository at this point in the history
  • Loading branch information
dslmeinte committed Aug 8, 2024
1 parent cb4ed65 commit a28700b
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions ROADMAP-v1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# ROADMAP to version 1

* Update to 2024.1 specification; that includes:
* [Remove the JSON Standard Primitive type](https://github.com/LionWeb-io/lionweb-typescript/issues/161)
* [Add support for value types](https://github.com/LionWeb-io/lionweb-typescript/issues/160)

* Re-organize into packages (this is [issue #154](https://github.com/LionWeb-io/lionweb-typescript/issues/154), which might make [issue #86](https://github.com/LionWeb-io/lionweb-typescript/issues/86) obsolete):
* `serialization`: all serialization types — issues [#107](https://github.com/LionWeb-io/lionweb-typescript/issues/107) and [#106](https://github.com/LionWeb-io/lionweb-typescript/issues/106) can be considered to address this as well
* `base`: base types such as `Node`
* `internal-utils`: internal utilities, such as for working with arrays, maps, doing topological sorting, etc.
* `m3`: LionCore M3
* `m2`: LionCore builtins, language (de-)serialization, factories, (maybe some!) convenience/helper functionality
* `m1`: model (de-)serialization
* `validation`: validation of serialization chunks — as standalone as possible
* `utilities`: ?
* `queries`: ?

* Rename `InstantiationFacade` → `Factory`
* And `ExtractionFacade` → `Reflector`?

* Give deserialization a better API:
* Pair up languages and their factories
* Make deserialization more configurable:
* How to deal with unknown classifiers: dynamic instantiation (i.e.: a fall-back factory for the `DynamicNode` type), or ignore
* Provide a channel to report back (and possibly even “converse”) about unknown classifiers, in such a way that we can distinguish between annotations and concepts
* This is based on the following principles:
* We can deal with broken models, so a “small” problem in the serialization should not prevent the deserialization as a whole.
(The GPL types that the model is deserialized into might have a different opinion about it, but that's its problem.)
* We should uncover _all_ problems during deserialization, not just the first one and then quit.
* (“Things should be as FP-style as possible, so effectively a `flatMap` of-sorts.)

* Issues:
* [Implement reference utils](https://github.com/LionWeb-io/lionweb-typescript/issues/165)
* [Fix deserialization to work with meta-circular language definitions](https://github.com/LionWeb-io/lionweb-typescript/issues/164)
* [Update top-level `README.md` to also document release process](https://github.com/LionWeb-io/lionweb-typescript/issues/152)

0 comments on commit a28700b

Please sign in to comment.