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

Reply via email to