New magic function `staticError`
|Reported by:||nomeata||Owned by:||nomeata|
|Type of failure:||None/Unknown||Test Case:|
|Related Tickets:||Differential Revisions:|
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.)