Distinct check such as:

distinct/name D(s_root)/Def | error "Duplicate definitions" @NAMES,
distinct/name D(s_root)/Mod | error "Duplicate modules" @NAMES.

cannot be factored out into a named constraint rule, because these distinct checks do not take any terms as input, just scopes. Currently, there is no way to not pass in terms into a (named) constraint rule, or to pass in a dummy term such as None(). Passing in a program term multiple times is also not possible, because traversing over the same AST node multiple times is not supported.

Submitted by Gabriƫl Konat on 27 January 2017 at 11:28

Log in to post comments