Emit an AST even if errors occur during semantic analysis
Currently, the Curry compiler monad (
CYT for the transformer variant and
CYM for the IO-based variant) implements warning messages using a
WriterT and error messages using an
This, however, prevents tools like the Curry language server from taking advantage of the 'broken' AST, which may still be syntactically correct, e.g. for features like context-aware code completion as the user types.
It would therefore be nice to have at least a
Maybe-wrapped version of the AST if parsing succeeds, but one of the semantic checks fails.