Printing local Var(Id) types(in Outputable outputs)
Hi all, I'm considering getting into the trouble of implementing this: A flag for printing types of local Ids. To be more specific, I'd like to see types of local Ids and binders in case expression alternatives etc. I may name it -dshow-local-id-types or something like that. An example output would be like this. Instead of: case ds_dPC of _ [Occ=Dead] { C1 l_avq -> ... C2 r_avr -> ... } It would print: case ds_dPC of _ [Occ=Dead] { C1 (l_avq :: Type1) -> ... C2 (r_avr :: Type2) -> ... } So my questions are: * Do we already have something like this? (I can't see it in man page) * Do you think, for some reason, this would be useless? (maybe there's some workaround etc. that has a similar effect) Thanks.
Yes -- I've wanted this too. It seems this functionality was once enabled by -dppr-debug, but then it got removed. See the vestigial flag -dsuppress-var-kinds. I've actually re-enabled this in my kind=type branch, because I needed it too. I say: go for it. Richard On Nov 5, 2015, at 9:13 PM, Ömer Sinan Ağacan <omeragacan@gmail.com> wrote:
Hi all,
I'm considering getting into the trouble of implementing this: A flag for printing types of local Ids. To be more specific, I'd like to see types of local Ids and binders in case expression alternatives etc. I may name it -dshow-local-id-types or something like that.
An example output would be like this. Instead of:
case ds_dPC of _ [Occ=Dead] { C1 l_avq -> ... C2 r_avr -> ... }
It would print:
case ds_dPC of _ [Occ=Dead] { C1 (l_avq :: Type1) -> ... C2 (r_avr :: Type2) -> ... }
So my questions are:
* Do we already have something like this? (I can't see it in man page)
* Do you think, for some reason, this would be useless? (maybe there's some workaround etc. that has a similar effect)
Thanks. _______________________________________________ ghc-devs mailing list ghc-devs@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
Yes, go for it! Simon | -----Original Message----- | From: ghc-devs [mailto:ghc-devs-bounces@haskell.org] On Behalf Of Richard | Eisenberg | Sent: 06 November 2015 15:29 | To: Ömer Sinan Ağacan | Cc: ghc-devs | Subject: Re: Printing local Var(Id) types(in Outputable outputs) | | Yes -- I've wanted this too. | | It seems this functionality was once enabled by -dppr-debug, but then it got | removed. See the vestigial flag -dsuppress-var-kinds. I've actually re- | enabled this in my kind=type branch, because I needed it too. | | I say: go for it. | | Richard | | On Nov 5, 2015, at 9:13 PM, Ömer Sinan Ağacan <omeragacan@gmail.com> wrote: | | > Hi all, | > | > I'm considering getting into the trouble of implementing this: A flag for | > printing types of local Ids. To be more specific, I'd like to see types of | > local Ids and binders in case expression alternatives etc. I may name it | > -dshow-local-id-types or something like that. | > | > An example output would be like this. Instead of: | > | > case ds_dPC of _ [Occ=Dead] { | > C1 l_avq -> ... | > C2 r_avr -> ... | > } | > | > It would print: | > | > case ds_dPC of _ [Occ=Dead] { | > C1 (l_avq :: Type1) -> ... | > C2 (r_avr :: Type2) -> ... | > } | > | > So my questions are: | > | > * Do we already have something like this? (I can't see it in man page) | > | > * Do you think, for some reason, this would be useless? (maybe there's some | > workaround etc. that has a similar effect) | > | > Thanks. | > _______________________________________________ | > ghc-devs mailing list | > ghc-devs@haskell.org | > | https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fmail.haskell. | org%2fcgi-bin%2fmailman%2flistinfo%2fghc- | devs&data=01%7c01%7csimonpj%40064d.mgd.microsoft.com%7c122790e6daed42064deb08 | d2e6bf07f7%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=Kzxep971U2yrPgXODZyGn | Xfp3pau8POJwBn98vgmeUU%3d | | _______________________________________________ | ghc-devs mailing list | ghc-devs@haskell.org | https://na01.safelinks.protection.outlook.com/?url=http%3a%2f%2fmail.haskell. | org%2fcgi-bin%2fmailman%2flistinfo%2fghc- | devs%0a&data=01%7c01%7csimonpj%40064d.mgd.microsoft.com%7c122790e6daed42064de | b08d2e6bf07f7%7c72f988bf86f141af91ab2d7cd011db47%7c1&sdata=b9tOk8zL7EallijICx | AspzLoGdqo09go%2bQcixr8%2fAcU%3d
participants (3)
-
Richard Eisenberg -
Simon Peyton Jones -
Ömer Sinan Ağacan