[GHC] #8207: Pretty Printer for textual version of Language (name) in DynFlags
GHC
ghc-devs at haskell.org
Tue May 17 06:58:30 UTC 2016
#8207: Pretty Printer for textual version of Language (name) in DynFlags
-------------------------------------+-------------------------------------
Reporter: Fuuzetsu | Owner: seraphime
Type: feature request | Status: closed
Priority: low | Milestone: 8.0.1
Component: GHC API | Version: 7.7
Resolution: fixed | Keywords: newcomer
Operating System: Unknown/Multiple | Architecture:
| Unknown/Multiple
Type of failure: None/Unknown | Test Case:
Blocked By: | Blocking:
Related Tickets: | Differential Rev(s):
Wiki Page: |
-------------------------------------+-------------------------------------
Changes (by bgamari):
* status: new => closed
* resolution: => fixed
* milestone: => 8.0.1
@@ -7,1 +7,1 @@
- {{{
+ {{{#!hs
New description:
I feel that the GHC API could benefit from a Show instance for Language in
DynFlags.hs.
Currently, if we want to display the language being used we have to do
something like
{{{#!hs
foo inf = case hmi_language inf of
Nothing -> Nothing
Just Haskell98 -> Just "Haskell98"
Just Haskell2010 -> Just "Haskell2010"
}}}
This is pretty much just the Show instance (over Maybe) and Haskell can
derive it for us automatically: we just need to change `deriving Enum` to
`deriving (Enum, Show)`. The above solution is not the most robust ever as
if this data type is ever changed, this starts to form an incomplete
pattern. If we have a catch all `_`, GHC complains about overlapping
patterns. Easily solved with `show <$> hmi_language inf`.
--
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/8207#comment:5>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list