TelluIoT / ThingML

The ThingML modelling language
https://github.com/TelluIoT/ThingML
Apache License 2.0
101 stars 32 forks source link

Two types of annotations? #266

Closed brice-morin closed 4 years ago

brice-morin commented 5 years ago

The "core" platform annotations are now being ported to the registry. The objective is that the registry will eventually contain all the platform annotations that are used by the core-compilers and other codes maintained by the ThingML team. This was, we can imagine to have:

This way, we regain control over the annotations...

Still, there are a number of tools out there using ThingML one way or another, and that do not necessarily aim at being integrated with the core ThingML. Those external tools might need to rely on self-defined annotations and may not want to extend the ThingML framework, but rather use a release as is. In general, it is probably too restrictive to force registring all annotations.

I suggest a new type of annotations, maybe with a # or $ syntax that are not part of the official platform annotations set, but still may serve a purpose.

What do you think?

brice-morin commented 4 years ago

Won't fix, but existing annotations have now be made more flexible, and they can accept any literal. Non-registered annotation will at most generate a warning, and never a blocking error.