Hi all, After going through the code I have one question about the “Typesystem”. From what I see, currently the java class(-name) is used as type parameter. Is there a specific reason for this? I am asking because this limits, in my eyes, the extensibility of the typesystem massively, e.g., for defining nullability or later on extending the typesystem to lists, arrays, maps or structs. A concrete use case would be to map a struct, e.g., in a S7 program directly to a struct with a shema definition given, e.g., in avro or json. I think this could be a pretty cool use case later on, especially when communication with PLCs becomes more common and TIA programmers start to incorporates special structs for communication.
My suggestion would be to use a typesystem, e.g., similar to the one used in Apache Calcite (https://calcite.apache.org/apidocs/org/apache/calcite/rel/type/RelDataType.html ) and to add a static util class to convert between Java Classes and internal types to keep the public API’s “as is”. What do you think of this suggestion or what drawbacks do you see? Best Julian