-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Supported built-in primitive types #9
Comments
One thing to consider is that integer is not present on all platforms. For example, it is not present in Javascript |
Regarding What about this: By itself, it does not say anything about range or signedness. But we provide default annotations, and if they are present the LIonWeb implementation has to adhere and enforce them OR (if unsupported) refuse the Metamodel. Examples:
|
We have ranges in KernelF. It was a mistake. They are complex to implement (if you want to track them in the type system). Many users don't want them and we have to "disable" them. The error messages are default from the system, which users hate. So I strongly suggest to not have ranges on integers (or any other constraints directly on types). You can always write a checking rule. |
Wouldn't |
ad ad ad |
ad ad ad |
The discussion about |
Good points. I tend to avoid verbiage that's technology-specific, but I also see that it's very hard to ultimately avoid that, and then |
We could call the datatype |
Then I think Did some experimentation here: LionWeb-io/lionweb-typescript@feature/further-dev-m3...feature/built-ins |
This is an experiment about defining builtins in Java: https://github.com/LIonWeb-org/lioncore-java/blob/master/lib/src/main/java/org/lionweb/lioncore/java/LionCoreBuiltins.java We could have a metamodel containing the |
In #34, we decided all types are to be encoded as strings. |
These are different APIs. There is a low level one that has no knowledge about the meta model and property types. There everything is a string. Then there is a meta model specific API (generated from the meta model definition) that knows the type of the properties. The conversion from string to the bool/int/... happens between these APIs. |
Makes sense. We should come up with names to distinguish them. |
On 2023-01-13, we decided that default primitive types are always implicitly imported. |
For reference: The agreed ids and keys are listed in metamodel docs |
boolean
string
of arbitrary lengthinteger
JSON
object
(akamap
),array
,string
,boolean
,number
,null
number
to ourinteger
?Rationale for JSON support:
string
The text was updated successfully, but these errors were encountered: