New magic function `staticError`
While playing games with RULES
, I had the need for a way to tell the compiler “please spit out an error message”, in my case if list fusion fails where the user explicitly requested for it.
Currently I put an error "List did not fuse"
in the code using a RULE
, but what I’d really like to do is to put in a staticError "List did not fuse"
that, if appearing in Core (say, after the final simplification) causes GHC to abort and print this message.
(I’m tempted to use type level strings somehow to make sure that the parameter to staticError
is not present at the value level, and also that the string is easier to obtain. I’ll see.)
Trac metadata
Trac field | Value |
---|---|
Version | 7.8.2 |
Type | FeatureRequest |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Compiler |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | |
Operating system | |
Architecture |