Skip to content

Set operations not yet supported for instance flows #18

Description

@modelint

Scrall doesn't parse the desired expression:

flots ..= a/R1/Flot + b/R2/R3/Flot

or even

flots ..= x + y

Both operations are intended to produce the union of two instance reference sets which assumes they are both defined by the same modeled class.

This is because the ..= symbol cause sthe expression to be processed as an instance assignment which operates only on instance sets. But an instance set is a thing like a path or a selection. There is no provision in the grammar to represent an instance computation as we have in a scalar assignment / expression.

Workaround:

User can either do the magic in a select expression, possibly more awkward, or cast members to relation (table) flows, apply the union operator + and then cast back to instance references. Like this:

flot table #= x + y // use table union operator to produce a table output flow
flots ..= flot table // cast that table flow back

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions