Эдгар Жаворонков <[email protected]> writes: > Hello devs! > > I am trying to implement some kind of local warnings suppresion and i need > some help. > > I want to use a pragma to mark functions so compiler won't throw warnings > from them. I defined my pragma in lexer, parser and added type signature in > HsBinds.hs. And i am stuck. I don't know what to do. What should i consider > doing further? > I think it would be helpful to focus on further elaborating the specification before we move into the implementation. There are still a number of open questions about the design that the wiki page doesn't yet address.
For instance, you should explicitly specify,
* What are the identifiers that appear after the `SUPPRESS` token?
* What exactly does the pragma apply to? For instance, if I have a case
like,
hello :: Int -> Int
{-# SUPPRESS some-warning #-}
helloAgain :: Type -> AnotherType
hello = (+1)
helloAgain = error "42"
or even just
hello = (+1)
{-# SUPPRESS another-warning #-}
helloAgain = error "oops"
What do you expect to happen? The behavior of the pragma in both of
these cases should be unambiguously stated in the specification.
* An concrete use-case motivating the change (preferably with examples
showing how the proposed syntax would address the motivation)
I know this sounds repetitive, but the act of writing down a proposal
will help you immensely when you do move on to implementing your ideas.
Thanks for your persistence.
Cheers,
- Ben
signature.asc
Description: PGP signature
_______________________________________________ ghc-devs mailing list [email protected] http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
