You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Short description
A rare case of a cascading error during typechecking of a WebDSL program.
Problem description.
In the following WebDSL snippet, a predicate should contain a boolean result, but a more specific error occurs in the addition (adding int + bool). Statix shows both while in the ideal case it would only show the error of adding an int to a bool.
predicate foo(i:Int){
i+false
}
The error should be caught with the following constraint:
equalType(typeOfExp(s_predicate, exp), bool) | error $[Predicate should contain a Bool expression] @exp.
normalized:
(typeOfExp(s_predicate, exp, typeOfExp332) | error $[Predicate should contain a Bool expression] @exp,
equalType(typeOfExp332, bool) | error $[Predicate should contain a Bool expression] @exp),
Describe the solution you'd like
Ideally the error given by the typeOfExp predicate should be the only error shown, namely that adding an int to a bool is untyped.
Short description
A rare case of a cascading error during typechecking of a WebDSL program.
Problem description.
In the following WebDSL snippet, a predicate should contain a boolean result, but a more specific error occurs in the addition (adding int + bool). Statix shows both while in the ideal case it would only show the error of adding an int to a bool.
The error should be caught with the following constraint:
Describe the solution you'd like
Ideally the error given by the
typeOfExp
predicate should be the only error shown, namely that adding an int to a bool is untyped.Describe alternatives you've considered
None
Additional context
Failing test on the WebDSL buildfarm: https://buildfarm.metaborg.org/job/webdsl/job/webdsl-statix/job/master/117/artifact/analysis-results/analysis__1-original-compiler-tests__analysis-fails__ac__predicateboolexp-2__FAILED.
Statix snippet: https://github.com/webdsl/webdsl-statix/blob/584fdf1b29ce2c2a6b094bae0e24b64a1f1efb7d/webdslstatix/trans/static-semantics/webdsl-ac.stx#L188-L199
The text was updated successfully, but these errors were encountered: