Implementation of Type level warnings

Rowan Goemans goemansrowan at gmail.com
Mon Dec 30 10:53:46 UTC 2019


Hello everyone,

A couple of days ago I tried to implement type level warnings [1]. I 
have got something
now that sort of works but issues the same warning multiple times and 
not on the correct
location. It's currently a WIP merge request [2]. I would like some 
help/pointers
to continue the implementation

The approach I have taken is to issue the warning once TypeWarning is 
rewritten.
However,this has severe problems since now a warning is issued multiple 
times and
at different locations due to therewritinghappening multiple times. I 
don't know
what the best location is to do this check and issue the warning. Prior to
constraint solving isn't a good place since the TypeWarning could be nested
deeply in some constraint. Afterwards also isn't doable since then the
TypeWarning constraint is gone.

An alternative could be to not implement any instance in for TypeWarning
similar to TypeError and special case it somehow.

Any help is appreciated!

[1] https://gitlab.haskell.org/ghc/ghc/issues/17027
[2] https://gitlab.haskell.org/ghc/ghc/merge_requests/2361

Best regards,

RowanGoemans
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20191230/b766f339/attachment.html>


More information about the ghc-devs mailing list