I have a vague recollection of discussing this before,
but I can't for the life of me work out what the
"list_open" field in AOM C_STRING class is
for. It is described as being for when a
constraint is "non-exhaustive" but I don't know what
this means in practical terms. I also can't
work out how the "non-exhaustive" lists would be
specified in ADL - I was guessing
"a","b", ...
but the ADL explanation says that these are
for list continuations in dADL which seem to me
to have a different purpose.
I have a vague recollection of discussing this before,
but I can't for the life of me work out what the
"list_open" field in AOM C_STRING class is
for. It is described as being for when a
constraint is "non-exhaustive" but I don't know what
this means in practical terms. I also can't
Hi Andrew,
I think in practical terms, when list_open is set, the string
validation based on given string value list should not be performed
since the list is considered non-exhaustive.
work out how the "non-exhaustive" lists would be
specified in ADL - I was guessing
"a","b", ...
Yes, that seems to be correct ADL format to specific an open list of
string values.
I have a vague recollection of discussing this before,
but I can't for the life of me work out what the
"list_open" field in AOM C_STRING class is
for. It is described as being for when a
constraint is "non-exhaustive" but I don't know what
this means in practical terms. I also can't
work out how the "non-exhaustive" lists would be
specified in ADL - I was guessing
"a","b", ...
In dADL, the feature you are thinking of is there to allow the parser to
correctly determine the types of:
same syntax for any other basic type. It's not a wonderful piece of
syntax design, but it enabled us to stick to the goal of having no
typing information at all for basic types in dADL
In C_STRING, list_open is a constraint flag that says whether or not
only the values in the list are allowed to be used; True = other values
possible (i.e. the listed values are just 'preferred'). The same syntax
is used, e.g. {"a", "b", ...} is an open list.