finos / rune-dsl

The project containing the Rune DSL grammar and default code generators
Apache License 2.0
26 stars 30 forks source link

Condition names should all hyphens (`-`) to match regulatory conditions #483

Open hugohills-regnosys opened 1 year ago

hugohills-regnosys commented 1 year ago

Or some other solution, like display name.

Regulations such as ESMA Emir Refit, specify validation rules which are modelled in the CDM/DRR with conditions. It would be useful to neatly correlate the regulation validation rule name (which contain hyphens, such as AB-CD-12) with the condition name. Currently, the approach is to replace the hyphen with an underscore in the condition name.

SimonCockx commented 1 year ago

In theory allowing hyphens in condition names should be a simple change. (UPDATE: although this will require changes to code generators to escape it somehow)

However, I cannot help but think that it is better (less complex/more maintainable) to have a consistent way of handling identifiers throughout the DSL, i.e., in this case also to allow hyphens in attribute names, enum values, functions, types, etc. That would cause issues unfortunately. Think about an expression such as

a-b

Is this a single variable a-b or is this an operation substract b from a?

So I'm not sure. Maybe it is better to go with a displayName property as we do for enum values. That would also be future proof for condition names containing dots and spaces, for example.

Would this name be used in anyway (code generator, UI for ingestion, ...), or is it purely for documentation purposes?