This is semantically not an error, but causes huge performance problems. If such an import is added or removed it causes all tasks that (transitively) depend on the root URI to be re-evaluated.

A simple fix is to dynamically check it and produce warning messages. If we want to produce a warning in the NaBL specification we need some kind of data flow analysis of NaBL because the scopes clause does not have to be on the pattern that has the import clause, it can also be on an descendent pattern.

Submitted by Gabriël Konat on 16 June 2013 at 16:23

On 17 June 2013 at 23:01 Gabriël Konat tagged @gohla

On 20 June 2013 at 22:58 Gabriël Konat removed tag @gohla

On 24 July 2013 at 00:29 Guido Wachsmuth commented:

Is this an error or a need for static analysis of NaBL itself? Should be a feature or improvement?

On 24 July 2013 at 00:40 Gabriël Konat commented:

Like the issue states, it is not an error. Static analysis would be nice, but not sure if it is possible. Detecting this at runtime and showing a message in the console is the easiest ‘fix’.

On 24 July 2013 at 00:48 Guido Wachsmuth commented:

Ok, I removed the error tag. Static analysis needs knowledge of the grammar to figure out if something is not scoped.

On 24 July 2013 at 00:48 Guido Wachsmuth removed tag error

On 24 July 2013 at 00:48 Guido Wachsmuth tagged improvement

Log in to post comments