grin-compiler / grin

GRIN is a compiler back-end for lazy and strict functional languages with whole program optimization support.
https://grin-compiler.github.io/
1.03k stars 38 forks source link

Stop pipeline on errors and add --continue-on-lint option for the current behavior. #76

Closed andorp closed 4 years ago

andorp commented 4 years ago

In the Issue #75 the root cause was a non-compliant GRIN program. Although the evaluator was able to run such a program, but it break some assumptions. Those assumptions must have been caught by the linter. The linter couldn't fire because there was no active type-env for the program, which was caused by the HPT result being empty due to the non-compliant program. We should stop the pipeline by default when the HPT-can not be computed, on linter errors, and this restriction should be elevated when a --non-safe option is given to the compiler.

andorp commented 4 years ago

@csabahruska @Anabra Any objections?

csabahruska commented 4 years ago

I agree, type env should be a requirement for the most strict level of linting.

Anabra commented 4 years ago

Agreed.